dbt-core: dbt: Unauthenticated Arbitrary SQL Execution in `dbt docs serve`
What fixes it
- 2.0.0-alpha.5dbt-core, rustGitHub
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 2
- dbt-coreaffected: >= 2.0.0-alpha.0, < 2.0.0-alpha.5CVE List
- dbt-core, rust>= 2.0.0-alpha.0, <= 2.0.0-alpha.1GitHub