Babel plugin transform ES2015 modules to CommonJS, version 6.7.4, is a minor patch release over its predecessor, version 6.7.0, both designed to seamlessly convert ES2015 module syntax (import/export) into the widely-supported CommonJS format, ensuring compatibility across diverse JavaScript environments, especially Node.js. Developers employing this plugin can write modern ES2015 code while targeting older JavaScript runtimes. The core dependencies remain consistent: babel-types, babel-runtime, babel-template, and babel-plugin-transform-strict-mode, indicating the fundamental functionality is unchanged. This stability means existing configurations and workflows should remain unaffected by the update.
The update from 6.7.0 to 6.7.4, released on March 23, 2016 (compared to March 9, 2016 for 6.7.0), likely incorporates bug fixes and minor internal improvements. While the absence of specific change logs makes pinpointing exact alterations challenging, this kind of patch release generally addresses edge cases or subtle issues identified after the initial 6.7.0 release. Developers already using version 6.7.0 should upgrade to 6.7.4 for enhanced stability and potentially resolving any encountered, albeit subtle, compatibility concerns. Both versions leverage babel-helper-plugin-test-runner for robust internal testing ensuring reliable transformations. For new adopters, version 6.7.4 presents a slightly more refined and reliable entry point for projects seeking seamless ES2015 to CommonJS module conversion. The MIT license guarantees freedom of use and modification.
All the vulnerabilities related to the version 6.7.4 of the package
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code
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@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
.
Babel 6 does not receive security fixes anymore (see Babel's security policy), hence there is no patch planned for babel-traverse@6
.
@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.@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.3babel-plugin-polyfill-corejs2
v0.4.6babel-plugin-polyfill-corejs3
v0.8.5babel-plugin-polyfill-es-shims
v0.10.0babel-plugin-polyfill-regenerator
v0.5.3