CVE-2026-55837
MediumCVSS 6.8Exploitation Probability (EPSS)
Low risk12th percentile - higher than 12% of all known CVEs
Summary
In dbt-mcp prior to 1.20.0, the local OAuth helper in src/dbt_mcp/oauth/fastapi_app.py exposes GET /dbt_platform_context without authentication or Host validation after a user completes the dbt Platform OAuth flow. The endpoint returns the full DbtPlatformContext, including access_token and refresh_token values, to any process that can reach 127.0.0.1:6785. The absence of TrustedHostMiddleware allows a remote attacker to use DNS rebinding against a victim's browser, while a co-located process can request the endpoint directly. The stolen tokens provide immediate dbt Platform API access as the victim and persistent access through the refresh token, allowing access to or modification of projects, jobs, environment secrets, and related account data.
Risk Assessment
An attacker can steal a user's access and refresh tokens, leading to unauthorized access to data and the ability to modify it. This can result in a breach of confidentiality and integrity of data in dbt Platform.
Recommendation
It is recommended to immediately upgrade dbt-mcp to version 1.20.0, which fixes the issue. Also, restrict access to port 6785 and consider adding host validation.
Other vulnerabilities in dbt-mcp
See all- CVE-2026-44970Low
In dbt-mcp before 1.17.1, DefaultUsageTracker.emit_tool_called_event() serializes the complete arguments dictionary of every MCP tool call and sends it via dbtlabs_vortex.producer.log_proto without redaction, including sql_query, vars, and node_selection. Telemetry is enabled by default unless DBT_SEND_ANONYMOUS_USAGE_STATS=false or DO_NOT_TRACK=1 is set.
- CVE-2026-44969Low
In dbt-mcp (MCP server for dbt) before version 1.17.1, the call_tool() function logs raw arguments at INFO level, and configure_file_logging() writes them to dbt-mcp.log, potentially exposing sensitive SQL queries, variables, and node selections in plaintext without automatic rotation or deletion.
- CVE-2026-44968Medium
dbt-mcp before version 1.17.1 does not sanitize node_selection and resource_type values before appending them to the dbt subprocess argument list. An MCP client can inject global dbt flags (e.g., --profiles-dir) despite shell=False.
Original NVD description (English source)
dbt-mcp is a Model Context Protocol server for interacting with dbt. Prior to 1.20.0, the local OAuth helper in src/dbt_mcp/oauth/fastapi_app.py exposes GET /dbt_platform_context without authentication or Host validation after a user completes the dbt Platform OAuth flow. The endpoint returns the full DbtPlatformContext, including access_token and refresh_token values persisted by the context manager, to any process that can reach 127.0.0.1:6785. The absence of TrustedHostMiddleware allows a remote attacker to use DNS rebinding against a victim's browser because the helper accepts arbitrary Host headers, while a co-located process can request the endpoint directly. The stolen tokens provide immediate dbt Platform API access as the victim and persistent access through the refresh token, allowing access to or modification of projects, jobs, environment secrets, and related account data. This issue is fixed in version 1.20.0.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

