{"answers":{"affected":"3 open source packages ship an affected version, including dbt-mcp. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-44968 exists.","fix":"Upgrade dbt-mcp to 1.17.1 or later.","what":"CVE-2026-44968 is a medium-severity command injection vulnerability in dbt-labs dbt-mcp, published on 16 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-44968 and fix it if it is affected.\n\nWhat it is: CVE-2026-44968 is a medium-severity command injection vulnerability in dbt-labs dbt-mcp, published on 16 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-44968 exists.\n\nAffected packages and fixed versions:\n- dbt-mcp (PyPI): affected all versions; fixed in 1.17.1\n- dbt-mcp (PyPI): affected all versions; fixed in 1.17.1\n- dbt-mcp (PyPI): affected all versions; fixed in 1.17.1\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-44968/ (Markdown: https://insights.sbomify.com/CVE-2026-44968/index.md)","id":"CVE-2026-44968","markdown":"https://insights.sbomify.com/CVE-2026-44968/index.md","name":"CVE-2026-44968","record":{"aliases":["GHSA-xpww-f6pm-cfhq","PYSEC-2026-2444"],"analysis":{"component_type":"developer_tool","fix_type":"upgrade","impacts":["code_execution","security_bypass"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"dbt MCP server","requires_auth":"low_privilege","summary":"Attackers can inject dbt CLI flags via MCP parameters to alter execution context, potentially leading to code execution or security bypasses.","user_interaction":"not_required","vuln_class":"command_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"dbt_mcp_server","vendor":"getdbt"}],"cvss":{"score":6.3,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-88","name":"Improper Neutralization of Argument Delimiters in a Command"}],"description":"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.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"dbt-mcp: Argument Injection in dbt CLI Tool Wrappers via node_selection and resource_type Parameters","id":"CVE-2026-44968","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"command_injection","year":"2026"},"n_packages":3,"n_references":4,"next":{"headline":"dbt MCP Server Logs Tool Arguments Including SQL Queries and Credentials in Plaintext Without Redaction When File Logging Is Enabled","id":"CVE-2026-44969"},"packages":[{"ecosystem":"PyPI","fixed":["1.17.1"],"introduced":["0"],"last_affected":[],"package":"dbt-mcp","purl":null,"source":"GHSA-xpww-f6pm-cfhq"},{"ecosystem":"PyPI","fixed":["1.17.1"],"introduced":["0"],"last_affected":[],"package":"dbt-mcp","purl":"pkg:pypi/dbt-mcp","source":"GHSA-xpww-f6pm-cfhq"},{"ecosystem":"PyPI","fixed":["1.17.1"],"introduced":["0"],"last_affected":[],"package":"dbt-mcp","purl":"pkg:pypi/dbt-mcp","source":"PYSEC-2026-2444"}],"prev":{"headline":"opentelemetry-cpp: OTLP HTTP exporters read unbounded HTTP response","id":"CVE-2026-44967"},"products":["dbt-mcp"],"published":"2026-07-16","related":[{"cvss_score":3.1,"headline":"dbt MCP Server Transmits All MCP Tool Arguments Including Raw SQL and --vars Credentials to dbt Labs Telemetry by Default Without Redaction","id":"CVE-2026-44970","kev_date_added":null,"published":"2026-07-16"},{"cvss_score":2.5,"headline":"dbt MCP Server Logs Tool Arguments Including SQL Queries and Credentials in Plaintext Without Redaction When File Logging Is Enabled","id":"CVE-2026-44969","kev_date_added":null,"published":"2026-07-16"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-07-17","vendors":["dbt-labs"]},"summary":"Attackers can inject dbt CLI flags via MCP parameters to alter execution context, potentially leading to code execution or security bypasses.","url":"https://insights.sbomify.com/CVE-2026-44968/"}