CVE-2024-40637
Implicit override for built-in materializations from installed packages in dbt-core
- State
- Published
- Severity
- 4.2 Medium
- Published
- Jul 16, 2024
- Updated
- Aug 2, 2024
- Reserved
- Jul 8, 2024
Description
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`.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 4.2 Medium | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L | GitHub_M |
Weaknesses
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
Affected Products
| Product | Versions |
|---|---|
dbt-coredbt-labs |
|
References
- https://github.com/dbt-labs/dbt-core/security/advisories/GHSA-p3f3-5ccg-83xq
- https://github.com/dbt-labs/dbt-core/commit/3c82a0296d227cb1be295356df314c11716f4ff6
- https://github.com/dbt-labs/dbt-core/commit/87ac4deb00cc9fe334706e42a365903a1d581624
- https://docs.getdbt.com/docs/build/packages
- https://docs.getdbt.com/reference/global-configs/legacy-behaviors#behavior-change-flags
- https://tempered.works/posts/2024/07/06/preventing-data-theft-with-gcp-service-controls
- https://www.elementary-data.com/post/are-dbt-packages-secure-the-answer-lies-in-your-dwh-policies
- https://www.equalexperts.com/blog/tech-focus/are-you-at-risk-from-this-critical-dbt-vulnerability
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.