Vulnerability 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.
CVSS Score
CRITICAL
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Debian | Debian Linux | 10.0 |
| Babeljs | Babel | < 7.23.2 |
| Babeljs | Babel-Helper-Define-Polyfill-Provider | < 0.4.3 |
| Babeljs | Babel-Plugin-Polyfill-Corejs2 | < 0.4.6 |
| Babeljs | Babel-Plugin-Polyfill-Corejs3 | < 0.8.5 |
| Babeljs | Babel-Plugin-Polyfill-Es-Shims | < 0.10.0 |
| Babeljs | Babel-Plugin-Polyfill-Regenerator | < 0.5.3 |
| Babeljs | Babel-Plugin-Transform-Runtime | < 7.23.2 |
| Babeljs | Babel-Preset-Env | < 7.23.2 |
Related Weaknesses (CWE)
References
- https://github.com/babel/babel/commit/b13376b346946e3f62fc0848c1d2a23223314c82Patch
- https://github.com/babel/babel/pull/16033Issue Tracking
- https://github.com/babel/babel/releases/tag/v7.23.2Patch
- https://github.com/babel/babel/releases/tag/v8.0.0-alpha.4Patch
- https://github.com/babel/babel/security/advisories/GHSA-67hx-6x53-jw92Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2023/10/msg00026.htmlMailing ListThird Party Advisory
- https://www.debian.org/security/2023/dsa-5528Issue Tracking
- https://github.com/babel/babel/commit/b13376b346946e3f62fc0848c1d2a23223314c82Patch
- https://github.com/babel/babel/pull/16033Issue Tracking
- https://github.com/babel/babel/releases/tag/v7.23.2Patch
- https://github.com/babel/babel/releases/tag/v8.0.0-alpha.4Patch
- https://github.com/babel/babel/security/advisories/GHSA-67hx-6x53-jw92Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2023/10/msg00026.htmlMailing ListThird Party Advisory
- https://www.debian.org/security/2023/dsa-5528Issue Tracking
FAQ
What is CVE-2023-45133?
CVE-2023-45133 is a vulnerability with a CVSS score of 9.3 (CRITICAL). 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 craft...
How severe is CVE-2023-45133?
CVE-2023-45133 has been rated CRITICAL with a CVSS base score of 9.3/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2023-45133?
Check the references section above for vendor advisories and patch information. Affected products include: Debian Debian Linux, Babeljs Babel, Babeljs Babel-Helper-Define-Polyfill-Provider, Babeljs Babel-Plugin-Polyfill-Corejs2, Babeljs Babel-Plugin-Polyfill-Corejs3.