UBUNTU-CVE-2023-45133: Critical severity ubuntu/node-babel vulnerability

Published Oct 12, 2023
·
Updated

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 Software

4 affected componentsFixes available
ubuntu/node-babel<6.26.0+dfsg-3ubuntu0.1~esm1
6.26.0+dfsg-3ubuntu0.1~esm1
ubuntu/node-babel<6.26.0+repack-3ubuntu0.1~esm1
6.26.0+repack-3ubuntu0.1~esm1
ubuntu/node-babel7*
ubuntu/node-babel7*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ubuntu/node-babel to a version that resolves this vulnerability.

    Fixed in 6.26.0+dfsg-3ubuntu0.1~esm1
  2. Upgrade

    Upgrade ubuntu/node-babel to a version that resolves this vulnerability.

    Fixed in 6.26.0+repack-3ubuntu0.1~esm1
  3. Upgrade

    Upgrade @babel/traverse to a version that resolves this vulnerability.

    Fixed in 7.23.2
  4. Upgrade

    Upgrade @babel/traverse to a version that resolves this vulnerability.

    Fixed in 8.0.0-alpha.4
  5. Upgrade

    Upgrade @babel/plugin-transform-runtime to a version that resolves this vulnerability.

    Fixed in 7.23.2
  6. Upgrade

    Upgrade @babel/preset-env to a version that resolves this vulnerability.

    Fixed in 7.23.2
  7. Upgrade

    Upgrade @babel/helper-define-polyfill-provider to a version that resolves this vulnerability.

    Fixed in 0.4.3
  8. Upgrade

    Upgrade babel-plugin-polyfill-corejs2 to a version that resolves this vulnerability.

    Fixed in 0.4.6
  9. Upgrade

    Upgrade babel-plugin-polyfill-corejs3 to a version that resolves this vulnerability.

    Fixed in 0.8.5
  10. Upgrade

    Upgrade babel-plugin-polyfill-es-shims to a version that resolves this vulnerability.

    Fixed in 0.10.0
  11. Upgrade

    Upgrade babel-plugin-polyfill-regenerator to a version that resolves this vulnerability.

    Fixed in 0.5.3

Event History

Oct 12, 2023
CVE Published
via OSV·05:15 PM
Data Sourced
via OSV·05:15 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who is exposed to exploitation?

Build or compilation environments that process JavaScript specifically crafted by an attacker are exposed if they use a vulnerable Babel traversal package together with an affected plugin or potentially an affected third-party plugin. Users who compile only trusted code are not impacted.

2

Which configurations are known to reach the vulnerable code path?

Known affected configurations use @babel/plugin-transform-runtime, or @babel/preset-env with the useBuiltIns option enabled. Polyfill-provider plugins that depend on @babel/helper-define-polyfill-provider are also affected, including the listed core-js, es-shims, and regenerator polyfill plugins.

3

Are all Babel plugins affected?

No. No other plugins in the @babel namespace are impacted, but third-party plugins might be affected if they rely on the vulnerable internal evaluation methods.

4

What can be done if @babel/traverse cannot be upgraded immediately?

If an affected package is in use, upgrade that package to its latest version to avoid triggering the vulnerable code path in affected @babel/traverse versions. Avoid compiling untrusted attacker-supplied code until remediation is complete.

5

Which versions contain the fix?

The issue is fixed in @babel/traverse version 7.23.2 and 8.0.0-alpha.4. The description states that all versions of babel-traverse are affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203