Every CVE Search/ Get API key

CVE-2024-40637

Implicit override for built-in materializations from installed packages in dbt-core

4.2 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
Low

Exploit likelihood

0.37%Up 0.3 points since Jul 17, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.2

Implicit override for built-in materializations from installed packages in dbt-core

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.

Record
CVE-2024-40637
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-74
Updated
2026-11-02
EUVDEUVD-2024-0033 4.2

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.

Record
EUVD-2024-0033
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Updated
2026-11-03
GitHub AdvisoriesGHSA-p3f3-5ccg-83xq 2.4

dbt has an implicit override for built-in materializations from installed packages

Impact

What kind of vulnerability is it? Who is impacted?

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.

Patches

Has the problem been patched? What versions should users upgrade to?

Fixed on 1.8.0, and patched for 1.6.14 and 1.7.14 releases.

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

Previously, a materialization defined in a package that shared a name with one of the built-in materializations would be preferred by default, without user action which is surprising and makes it more difficult to detect the insecure behaviour. We've changed the default behaviour to require explicit overrides by users in 1.8.0, and provided the ability to opt-out of built-in materialization overrides in 1.6 and 1.7 via the flags.require_explicit_package_overrides_for_builtin_materializations: False configuration in dbt_project.yml

Versions older than 1.6 are EOL.

References

Are there any links users can visit to find out more?

Record
GHSA-p3f3-5ccg-83xq
CVSS 4.0
2.4 LowCVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-74, CWE-89, CWE-913
Updated
2026-11-02
NVD 4.2

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.

Record
CVE-2024-40637
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
CVSS 3.1
7.3 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-74, CWE-94
Updated
2026-11-02
OSV 4.2

Implicit override for built-in materializations from installed packages in dbt-core

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.

Record
CVE-2024-40637
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-74
Updated
2026-11-02
OSVGHSA-p3f3-5ccg-83xq 2.4

dbt has an implicit override for built-in materializations from installed packages

Impact

What kind of vulnerability is it? Who is impacted?

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.

Patches

Has the problem been patched? What versions should users upgrade to?

Fixed on 1.8.0, and patched for 1.6.14 and 1.7.14 releases.

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

Previously, a materialization defined in a package that shared a name with one of the built-in materializations would be preferred by default, without user action which is surprising and makes it more difficult to detect the insecure behaviour. We've changed the default behaviour to require explicit overrides by users in 1.8.0, and provided the ability to opt-out of built-in materialization overrides in 1.6 and 1.7 via the flags.require_explicit_package_overrides_for_builtin_materializations: False configuration in dbt_project.yml

Versions older than 1.6 are EOL.

References

Are there any links users can visit to find out more?

Record
GHSA-p3f3-5ccg-83xq
CVSS 4.0
2.4 LowCVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
CVSS 3.1
4.2 MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
Weakness
CWE-74, CWE-89, CWE-913
Updated
2026-11-02
OSVPYSEC-2024-66 7.8

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.

Record
PYSEC-2024-66
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
dbt-core
PyPI
1.6.0 up to 1.6.14
1.6.14
dbt-core
PyPI
1.7.0 up to 1.7.14
1.7.14
dbt-core
PyPI
1.6.0 up to 1.6.14, plus listed versions
1.6.11.6.101.6.111.6.121.6.13
Show 9 moreShow less
1.6.1rc11.6.21.6.31.6.41.6.51.6.61.6.71.6.81.6.9
1.6.14
dbt-core
PyPI
1.7.0 up to 1.7.14, plus listed versions
1.7.11.7.101.7.111.7.121.7.13
Show 8 moreShow less
1.7.21.7.31.7.41.7.51.7.61.7.71.7.81.7.9
1.7.14
dbt-core
PyPI
1.7.0 up to 1.7.14, before 1.6.14, plus listed versions
0.13.00.13.0a10.13.0a20.13.0rc10.13.1
Show 45 moreShow less
0.13.1a10.13.1a20.14.00.14.0a10.14.0a20.14.0rc10.14.10.14.1a10.14.1rc10.14.1rc20.14.20.14.30.14.3rc10.14.40.15.00.15.0b10.15.0b20.15.0b30.15.0rc10.15.0rc20.15.10.15.1rc10.15.1rc20.15.20.15.30.15.3rc10.16.00.16.0b10.16.0b20.16.0b30.16.0rc10.16.0rc20.16.0rc30.16.0rc40.16.10.16.1rc10.17.00.17.0b10.17.0b20.17.0rc10.17.0rc20.17.0rc30.17.0rc40.17.10.17.1rc1
1.7.141.6.14

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-40637 is a medium vulnerability (CVSS 4.2) in Dbt-labs Dbt-core, published July 16, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.37%, the 31st percentile. Fixed in dbt-core 1.6.14.

References

Show 7 moreShow less
This page doesn't list everything

Left out here: 183 versions. The JSON record has them.

MoveEnter Open