{"id":"CVE-2023-45133","aliases":["GHSA-67hx-6x53-jw92"],"url":"https://o3.security/vulnerability/CVE-2023-45133","summary":"Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code","details":"### Impact\n\nUsing 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.\n\nKnown affected plugins are:\n- `@babel/plugin-transform-runtime`\n- `@babel/preset-env` when using its [`useBuiltIns`](https://babeljs.io/docs/babel-preset-env#usebuiltins) option\n- 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`\n\nNo other plugins under the `@babel/` namespace are impacted, but third-party plugins might be.\n\n**Users that only compile trusted code are not impacted.**\n\n### Patches\n\nThe vulnerability has been fixed in `@babel/traverse@7.23.2`.\n\nBabel 6 does not receive security fixes anymore (see [Babel's security policy](https://github.com/babel/babel/security/policy)), hence there is no patch planned for `babel-traverse@6`.\n\n### Workarounds\n\n- 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.\n- 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:\n  - `@babel/plugin-transform-runtime` v7.23.2\n  - `@babel/preset-env` v7.23.2\n  - `@babel/helper-define-polyfill-provider` v0.4.3\n  - `babel-plugin-polyfill-corejs2` v0.4.6\n  - `babel-plugin-polyfill-corejs3` v0.8.5\n  - `babel-plugin-polyfill-es-shims` v0.10.0\n  - `babel-plugin-polyfill-regenerator` v0.5.3","published":"2023-10-12T16:17:08.624Z","modified":"2026-08-12T03:51:39.720825519Z","cvss":{"score":9.3,"severity":"CRITICAL","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"@babel/traverse","fixedVersion":"7.23.2"},{"ecosystem":"npm","name":"@babel/traverse","fixedVersion":"8.0.0-alpha.4"},{"ecosystem":"npm","name":"babel-traverse","fixedVersion":null}],"fix":{"url":"https://github.com/babel/babel/commit/b13376b346946e3f62fc0848c1d2a23223314c82","label":"babel/babel@b13376b"},"references":[{"type":"WEB","url":"https://github.com/babel/babel/releases/tag/v7.23.2"},{"type":"WEB","url":"https://github.com/babel/babel/releases/tag/v8.0.0-alpha.4"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2023/10/msg00026.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/45xxx/CVE-2023-45133.json"},{"type":"ADVISORY","url":"https://github.com/babel/babel/security/advisories/GHSA-67hx-6x53-jw92"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-45133"},{"type":"ADVISORY","url":"https://www.debian.org/security/2023/dsa-5528"},{"type":"FIX","url":"https://github.com/babel/babel/commit/b13376b346946e3f62fc0848c1d2a23223314c82"},{"type":"FIX","url":"https://github.com/babel/babel/pull/16033"},{"type":"WEB","url":"https://babeljs.io/blog/2023/10/16/cve-2023-45133"},{"type":"PACKAGE","url":"https://github.com/babel/babel"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:39.720825519Z"}}