VYPR
Medium severity5.3NVD Advisory· Published May 27, 2024· Updated Apr 15, 2026

CVE-2024-36105

CVE-2024-36105

Description

dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. Prior to versions 1.6.15, 1.7.15, and 1.8.1, Binding to INADDR_ANY (0.0.0.0) or IN6ADDR_ANY (::) exposes an application on all network interfaces, increasing the risk of unauthorized access. As stated in the Python docs, a special form for address is accepted instead of a host address: '' represents INADDR_ANY, equivalent to "0.0.0.0". On systems with IPv6, '' represents IN6ADDR_ANY, which is equivalent to "::". A user who serves docs on an unsecured public network, may unknowingly be hosting an unsecured (http) web site for any remote user/system to access on the same network. The issue has has been mitigated in dbt-core v1.6.15, dbt-core v1.7.15, and dbt-core v1.8.1 by binding to localhost explicitly by default in dbt docs serve.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
dbt-corePyPI
< 1.6.151.6.15
dbt-corePyPI
>= 1.7.0, < 1.7.151.7.15
dbt-corePyPI
>= 1.8.0, < 1.8.11.8.1

Patches

4
0c08d7a19ad1

change port bind and add a unittest (#10208)

https://github.com/dbt-labs/dbt-coreMichelle ArkMay 22, 2024via ghsa
4 files changed · +30 1
  • .changes/unreleased/Security-20240522-094540.yaml+6 0 added
    @@ -0,0 +1,6 @@
    +kind: Security
    +body: Explicitly bind to localhost in docs serve
    +time: 2024-05-22T09:45:40.748185-04:00
    +custom:
    +  Author: ChenyuLInx michelleark
    +  Issue: "10209"
    
  • core/dbt/task/docs/serve.py+1 1 modified
    @@ -20,7 +20,7 @@ def run(self):
             if self.args.browser:
                 webbrowser.open_new_tab(f"http://localhost:{port}")
     
    -        with socketserver.TCPServer(("", port), SimpleHTTPRequestHandler) as httpd:
    +        with socketserver.TCPServer(("127.0.0.1", port), SimpleHTTPRequestHandler) as httpd:
                 click.echo(f"Serving docs at {port}")
                 click.echo(f"To access from your browser, navigate to: http://localhost:{port}")
                 click.echo("\n\n")
    
  • tests/unit/task/docs/__init__.py+0 0 added
  • tests/unit/task/docs/test_serve.py+23 0 added
    @@ -0,0 +1,23 @@
    +from http.server import SimpleHTTPRequestHandler
    +from unittest.mock import MagicMock, patch
    +
    +import pytest
    +
    +from dbt.task.docs.serve import ServeTask
    +
    +
    +@pytest.fixture
    +def serve_task():
    +    # Set up
    +    task = ServeTask(config=MagicMock(), args=MagicMock())
    +    task.config.project_target_path = "."
    +    task.args.port = 8000
    +    return task
    +
    +
    +def test_serve_bind_to_127(serve_task):
    +    serve_task.args.browser = False
    +    with patch("dbt.task.docs.serve.socketserver.TCPServer") as patched_TCPServer:
    +        patched_TCPServer.return_value = MagicMock()
    +        serve_task.run()
    +        patched_TCPServer.assert_called_once_with(("127.0.0.1", 8000), SimpleHTTPRequestHandler)
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

13

News mentions

0

No linked articles in our index yet.