{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-100406", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-09-25T20:08:33.084Z", "datePublished": "2026-10-14T18:27:24.863Z", "dateUpdated": "2026-10-14T18:27:24.863Z" }, "containers": { "cna": { "title": "dbt: Unauthenticated Arbitrary SQL Execution in `dbt docs serve`", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-22", "lang": "en", "description": "CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')", "type": "CWE" } ] }, { "descriptions": [ { "cweId": "CWE-200", "lang": "en", "description": "CWE-200: Exposure of Sensitive Information to an Unauthorized Actor", "type": "CWE" } ] }, { "descriptions": [ { "cweId": "CWE-306", "lang": "en", "description": "CWE-306: Missing Authentication for Critical Function", "type": "CWE" } ] } ], "metrics": [ { "cvssV4_0": { "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "HIGH", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "baseScore": 8.2, "baseSeverity": "HIGH", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N", "version": "4.0" } } ], "references": [ { "name": "https://github.com/dbt-labs/dbt/security/advisories/GHSA-h2j2-2r7g-rff8", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/dbt-labs/dbt/security/advisories/GHSA-h2j2-2r7g-rff8" }, { "name": "https://github.com/dbt-labs/dbt/commit/3a5d26fe02b58382720d04cbd87143b7b6775413", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/dbt-labs/dbt/commit/3a5d26fe02b58382720d04cbd87143b7b6775413" }, { "name": "https://github.com/dbt-labs/dbt/releases/tag/v2.0.0-alpha.5", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/dbt-labs/dbt/releases/tag/v2.0.0-alpha.5" } ], "affected": [ { "vendor": "dbt-labs", "product": "dbt-core", "versions": [ { "version": ">= 2.0.0-alpha.0, < 2.0.0-alpha.5", "status": "affected" } ] } ], "providerMetadata": { "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-10-14T18:27:24.863Z" }, "descriptions": [ { "lang": "en", "value": "dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. From 2.0.0-alpha.0 until 2.0.0-alpha.5, dbt docs serve exposes the unauthenticated POST /api/v1/query endpoint in crates/dbt-docs-server/src/handlers/query.rs, which passes caller-supplied SQL to DuckDbViewsBackend::query_arrow() in crates/dbt-index-core/src/backend.rs without authorization or an allowlist. A client that can reach the server can invoke DuckDB filesystem-reading functions to read files available to the dbt process, including files outside the docs index directory. The server binds to localhost by default, but operators can expose it to a network through the host option or DBT_DOCS_HOST setting. This issue is fixed in version 2.0.0-alpha.5." } ], "source": { "advisory": "GHSA-h2j2-2r7g-rff8", "discovery": "UNKNOWN" } } } }