CVE-2023-45133

Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code

HIGH
8.8
CVSS Score
Published: October 12, 2023 at 04:17 PM UTC
Updated: June 17, 2026 at 06:28 AM UTC
10 products affected across 3 vendorsDebian LinuxBabel Plugin Polyfill COREJS2Babel Plugin Polyfill COREJS3

Using babel by babel?

Get instant alerts when new vulnerabilities affect babel - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.8
Exploit prediction
EPSS 0.5%
SSVC
No known exploit

Description

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/[email protected]` and `@babel/[email protected]`. 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

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

Affected range stops below 7.23.2, so it looks safe — our inference, not a vendor statement
v < 0.4.3
Affected range stops below 0.4.3, so it looks safe — our inference, not a vendor statement
v < 0.4.6
Affected range stops below 0.4.6, so it looks safe — our inference, not a vendor statement
v < 0.8.5
Affected range stops below 0.8.5, so it looks safe — our inference, not a vendor statement
v < 0.10.0
Affected range stops below 0.10.0, so it looks safe — our inference, not a vendor statement
v < 0.5.3
Affected range stops below 0.5.3, so it looks safe — our inference, not a vendor statement
v < 7.23.2
Affected range stops below 7.23.2, so it looks safe — our inference, not a vendor statement
v < 7.23.2
Affected range stops below 7.23.2, so it looks safe — our inference, not a vendor statement
v < 7.23.2v < 8.0.0-alpha.4
Affected range stops below 7.23.2, so it looks safe — our inference, not a vendor statement
Affected range stops below 8.0.0-alpha.4, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
CHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-184CWE-697

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card