CVE-2026-44968
MediumCVSS 6.3Exploitation Probability (EPSS)
Low risk4th percentile - higher than 4% of all known CVEs
Summary
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.
Risk Assessment
An attacker MCP client can alter dbt configuration, potentially accessing unauthorized profiles or project directories.
Recommendation
Update dbt-mcp to version 1.17.1 or later.
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.
Original NVD description (English source)
dbt-mcp is a Model Context Protocol server for interacting with dbt. Prior to 1.17.1, _run_dbt_command() in src/dbt_mcp/dbt_cli/tools.py appended unsanitized node_selection and resource_type values to the dbt subprocess argument list, allowing an MCP client to inject dbt global flags such as --profiles-dir, --project-dir, and --target into subprocess.Popen even though shell=False prevents shell metacharacter injection. This issue is fixed in version 1.17.1.

