CVE-2023-45133: Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code

Published Oct 12, 2023
·
Updated

Impact

Using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on the path.evaluate()or path.evaluateTruthy() internal Babel methods.

Known affected plugins are: - @babel/plugin-transform-runtime - @babel/preset-env when using its useBuiltIns option - Any "polyfill provider" plugin that depends on @babel/helper-define-polyfill-provider, such as babel-plugin-polyfill-corejs3, babel-plugin-polyfill-corejs2, babel-plugin-polyfill-es-shims, babel-plugin-polyfill-regenerator

No other plugins under the @babel/ namespace are impacted, but third-party plugins might be.

Users that only compile trusted code are not impacted.

Patches

The vulnerability has been fixed in @babel/traverse@7.23.2.

Babel 6 does not receive security fixes anymore (see Babel's security policy), hence there is no patch planned for babel-traverse@6.

Workarounds

- Upgrade @babel/traverse to v7.23.2 or higher. You can do this by deleting it from your package manager's lockfile and re-installing the dependencies. @babel/core >=7.23.2 will automatically pull in a non-vulnerable version. - If you cannot upgrade @babel/traverse and are using one of the affected packages mentioned above, upgrade them to their latest version to avoid triggering the vulnerable code path in affected @babel/traverse versions: - @babel/plugin-transform-runtime v7.23.2 - @babel/preset-env v7.23.2 - @babel/helper-define-polyfill-provider v0.4.3 - babel-plugin-polyfill-corejs2 v0.4.6 - babel-plugin-polyfill-corejs3 v0.8.5 - babel-plugin-polyfill-es-shims v0.10.0 - babel-plugin-polyfill-regenerator v0.5.3

Other sources

Babel could allow a local attacker to execute arbitrary code on the system, caused by a flaw in the path.evaluate()or path.evaluateTruthy(). By using a specially crafted code to compile, an attacker could exploit this vulnerability to execute arbitrary code on the system.

IBM

Babel is a compiler for writingJavaScript. In @babel/traverse prior to versions 7.23.2 and 8.0.0-alpha.4 and all versions of babel-traverse, using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on the path.evaluate()or path.evaluateTruthy() internal Babel methods. Known affected plugins are @babel/plugin-transform-runtime; @babel/preset-env when using its useBuiltIns option; and any "polyfill provider" plugin that depends on @babel/helper-define-polyfill-provider, such as babel-plugin-polyfill-corejs3, babel-plugin-polyfill-corejs2, babel-plugin-polyfill-es-shims, babel-plugin-polyfill-regenerator. No other plugins under the @babel/ namespace are impacted, but third-party plugins might be. Users that only compile trusted code are not impacted. The vulnerability has been fixed in @babel/traverse@7.23.2 and @babel/traverse@8.0.0-alpha.4. Those who cannot upgrade @babel/traverse and are using one of the affected packages mentioned above should upgrade them to their latest version to avoid triggering the vulnerable code path in affected @babel/traverse versions: @babel/plugin-transform-runtime v7.23.2, @babel/preset-env v7.23.2, @babel/helper-define-polyfill-provider v0.4.3, babel-plugin-polyfill-corejs2 v0.4.6, babel-plugin-polyfill-corejs3 v0.8.5, babel-plugin-polyfill-es-shims v0.10.0, babel-plugin-polyfill-regenerator v0.5.3.

Affected Software

27 affected componentsFixes available
debian/node-babel7<=7.4.5-1, <=7.20.15+ds1+~cs214.269.168-4
7.20.15+ds1+~cs214.269.168-57.20.15+ds1+~cs214.269.168-3+deb12u17.12.12+~cs150.141.84-6+deb11u1
debian/node-babel<=6.26.0+dfsg-3
6.26.0+dfsg-3+deb10u1
debian/node-babel7<=7.12.12+~cs150.141.84-6
7.12.12+~cs150.141.84-6+deb11u17.20.15+ds1+~cs214.269.168-3+deb12u17.20.15+ds1+~cs214.269.168-6
npm/babel-traverse<7.23.2
npm/@babel/traverse>=8.0.0-alpha.0<8.0.0-alpha.4
8.0.0-alpha.4
npm/@babel/traverse<7.23.2
7.23.2
IBM Data Virtualization on Cloud Pak for Data<=3.0
IBM Watson Query on Cloud Pak for Data<=2.2
IBM Watson Query on Cloud Pak for Data<=2.1
IBM Watson Query on Cloud Pak for Data<=2.0
IBM Data Virtualization on Cloud Pak for Data<=1.8
IBM Data Virtualization on Cloud Pak for Data<=1.7
Debian Debian Linux=10.0
Debian Debian Linux=11.0
Debian Debian Linux=12.0
babeljs Babel Nodejs<7.23.2
babeljs Babel Nodejs=8.0.0-alpha.0
babeljs Babel Nodejs=8.0.0-alpha.1
babeljs Babel Nodejs=8.0.0-alpha.2
babeljs Babel Nodejs=8.0.0-alpha.3
babeljs Babel-helper-define-polyfill-provider Nodejs<0.4.3
babeljs Babel-plugin-polyfill-corejs2 Nodejs<0.4.6
babeljs Babel-plugin-polyfill-corejs3 Nodejs<0.8.5
babeljs Babel-plugin-polyfill-es-shims Nodejs<0.10.0
babeljs Babel-plugin-polyfill-regenerator Nodejs<0.5.3
babeljs Babel-plugin-transform-runtime Nodejs<7.23.2
babeljs Babel-preset-env Nodejs<7.23.2

Event History

Oct 12, 2023
CVE Published
via MITRE·04:17 PM
Data Sourced
via MITRE·04:17 PM
DescriptionSeverityWeakness
Data Sourced
05:15 PM
DescriptionSeverityWeakness
Oct 16, 2023
Advisory Published
via GitHub·01:55 PM
Aug 15, 2025
Data Sourced
via IBM·03:29 PM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the vulnerability ID of this issue?

The vulnerability ID of this issue is CVE-2023-45133.

2

What is the impact of this vulnerability?

Using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on the `path.evaluate()` or `path.evaluateTruthy()` internal Babel methods.

3

Which versions of @babel/traverse are affected by this vulnerability?

Versions up to and including 8.0.0-alpha.4 of @babel/traverse are affected by this vulnerability.

4

What other packages or software are affected by this vulnerability?

Other affected packages include node-babel version up to and including 6.26.0+dfsg-3 and node-babel7 versions up to and including 7.12.12+~cs150.141.84-6.

5

How to remediate this vulnerability?

To remediate this vulnerability, update @babel/traverse to version 8.0.0-alpha.4 or later, node-babel to version 7.23.2 or later, and node-babel7 to version 7.12.12+~cs150.141.84-6 or later.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203