Babel · @Babel/Plugin-Transform-Runtime · CVE-2023-45133
**Name of the Vulnerable Software and Affected Versions**
@babel/traverse versions prior to 7.23.2 and 8.0.0-alpha.4
babel-traverse (all versions)
**Description**
The issue is related to the `path.evaluate()` or `path.evaluateTruthy()` internal Babel methods. 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 these 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`. Users that only compile trusted code are not impacted.
**Recommendations**
- Upgrade `@babel/traverse` to v7.23.2 or higher.
- 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