Vulnerability · Published Oct 12, 2023 · Assigned by GitHub_M

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

Critical 9.4

In plain English

A critical-severity security flaw in babel from babel. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 45% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.4Critical
Exploit odds (30 days)0.5%top 55.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official 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/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 packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12node-babel77.20.15+ds1+~cs214.269.168-3+deb12u1DSA-5528-1
Debian:12node-babel77.20.15+ds1+~cs214.269.168-3+deb12u1DEBIAN-CVE-2023-45133
Debian:13node-babel77.20.15+ds1+~cs214.269.168-5DEBIAN-CVE-2023-45133
Debian:14node-babel77.20.15+ds1+~cs214.269.168-5DEBIAN-CVE-2023-45133
Ubuntu:22.04:LTSnode-babel7no fix listedUBUNTU-CVE-2023-45133
Ubuntu:24.04:LTSnode-babel7no fix listedUBUNTU-CVE-2023-45133
npm@babel/traverse8.0.0-alpha.4GHSA-67hx-6x53-jw92
npm@babel/traverse7.23.2GHSA-67hx-6x53-jw92
npmbabel-traverseno fix listedGHSA-67hx-6x53-jw92

Affected products (as reported)

VendorProductVersions
babel babel < 7.23.2>= 8.0.0-alpha.0, < 8.0.0-alpha.4

Weakness: CWE-184 · Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

References