Incomplete List of Disallowed Inputs Affecting @babel/traverse package, versions <7.23.2>=8.0.0-alpha.0 <8.0.0-alpha.4


Severity

Recommended
0.0
critical
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
0.06% (28th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-BABELTRAVERSE-5962462
  • published13 Oct 2023
  • disclosed12 Oct 2023
  • creditWilliam Khem-Marquez

Introduced: 12 Oct 2023

CVE-2023-45133  (opens in a new tab)
CWE-184  (opens in a new tab)

How to fix?

Upgrade @babel/traverse to version 7.23.2, 8.0.0-alpha.4 or higher.

Overview

Affected versions of this package are vulnerable to Incomplete List of Disallowed Inputs when using plugins that rely on the path.evaluate() or path.evaluateTruthy() internal Babel methods.

Note:

This is only exploitable if the attacker uses known affected plugins such as @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. No other plugins under the @babel/ namespace are impacted, but third-party plugins might be.

Users that only compile trusted code are not impacted.

Workaround

Users who are unable to upgrade the library can upgrade the affected plugins instead, to avoid triggering the vulnerable code path in affected @babel/traverse.

CVSS Scores

version 3.1