CVE-2024-40637 json
Implicit override for built-in materializations from installed packages in dbt-core
published 2024-07-16 2 y ago modified 2026-10-30 10 d ago also GHSA-p3f3-5ccg-83xq , PYSEC-2024-66 , EUVD-2024-0033
- cvss
- 4.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 31%
- public exploits
- 0
- none known
Summary
dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. When a user installs a package in dbt, it has the ability to override macros, materializations, and other core components of dbt. This is by design, as it allows packages to extend and customize dbt's functionality. However, this also means that a malicious package could potentially override these components with harmful code. This issue has been fixed in versions 1.8.0, 1.6.14 and 1.7.14. Users are advised to upgrade. There are no kn own workarounds for this vulnerability. Users updating to either 1.6.14 or 1.7.14 will need to set `flags.require_explicit_package_overrides_for_builtin_materializations: False` in their configuration in `dbt_project.yml`.
Patch / fix
- pypi dbt-core 1.6.14, 1.7.14
- getdbt dbt-core 1.6.14, 1.7.14
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.37% chance of exploitation in the next 30 days, higher than 31% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- tempered.works https://tempered.works/posts/2024/07/06/preventing-data-theft-with-gcp-service-controls referenced PoC, tagged "exploit" by a source, unverified
- elementary-data.com https://www.elementary-data.com/post/are-dbt-packages-secure-the-answer-lies-in-your-dwh-policies referenced PoC, tagged "exploit" by a source, unverified
- equalexperts.com https://www.equalexperts.com/blog/tech-focus/are-you-at-risk-from-this-critical-dbt-vulnerability referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.2 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L |
| NVD | 3.1 | 7.3 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 4.2 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L |
| OSV | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | dbt-core | >=1.6.0, <1.6.14 >=1.7.0, <1.7.14 <1.6.14 |
1.6.14 1.7.14 |
Affected products
- dbt-labs dbt-core
Classification
References
-
github.com
/dbt-labs/dbt-core/commit/3c82a0296d227cb1be295356df314c11716f4ff6
web, patch
-
github.com
/dbt-labs/dbt-core/commit/87ac4deb00cc9fe334706e42a365903a1d581624
web, patch
-
tempered.works
/posts/2024/07/06/preventing-data-theft-with-gcp-service-controls
web, exploit, third-party-advisory
-
elementary-data.com
/post/are-dbt-packages-secure-the-answer-lies-in-your-dwh-policies
web, exploit, third-party-advisory
-
equalexperts.com
/blog/tech-focus/are-you-at-risk-from-this-critical-dbt-vulnerability
web, exploit, third-party-advisory, article
-
github.com
/dbt-labs/dbt-core/security/advisories/GHSA-p3f3-5ccg-83xq
web, vendor-advisory, mitigation, advisory
-
docs.getdbt.com
/reference/global-configs/legacy-behaviors#behavior-change-flags
web, vendor-advisory, advisory
-
docs.getdbt.com
/docs/build/packages
web, product
-
nvd.nist.gov
/vuln/detail/CVE-2024-40637
advisory
-
github.com
/dbt-labs/dbt-core
package
-
github.com
/pypa/advisory-database/tree/main/vulns/dbt-core/PYSEC-2024-66.yaml
web
Sources
- CVE List CVE-2024-40637
- GitHub Advisory GHSA-p3f3-5ccg-83xq
- NVD CVE-2024-40637
- OSV PYSEC-2024-66
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.