ts-jest is a preprocessor designed to seamlessly integrate TypeScript with the Jest testing framework, enabling developers to write tests for their TypeScript code with sourcemap support. Comparing versions 17.0.1 and 17.0.0 reveals subtle but noteworthy changes for TypeScript developers.
Both versions share identical dependencies, including utilities like yargs, glob-all, lodash.*, remap-istanbul, source-map-support, and istanbul-lib-instrument, ensuring consistent support for argument parsing, file globbing, utility functions, code coverage mapping, and source map handling. Their development dependencies are also exactly the same, providing access to same set of tools for testing and development.
The most significant difference lies in the peerDependencies. Version 17.0.0 declares that typescript version must be ~2.0.6 while version 17.0.1 declares that typescript version must be ^2.0.6 || ^2.1.0-dev || ^2.2.0-dev. Thus, 17.0.1 supports a wider range of TypeScript versions for the projects that want to consume this library.
Developers upgrading to version 17.0.1 benefit from enhanced compatibility and potentially improved stability with newer TypeScript versions. Since the rest of the functionalities and dependencies are the same, migration should be seamless. Choosing the right version depends on your project's TypeScript version and desired level of compatibility. Consider 17.0.1 if you're using or planning to use a more recent TypeScript version within the 2.x range. This upgrade ensures optimal performance and alignment with the evolving TypeScript ecosystem, while leveraging the robust testing capabilities of Jest.
All the vulnerabilities related to the version 17.0.1 of the package
yargs-parser Vulnerable to Prototype Pollution
Affected versions of yargs-parser
are vulnerable to prototype pollution. Arguments are not properly sanitized, allowing an attacker to modify the prototype of Object
, causing the addition or modification of an existing property that will exist on all objects.
Parsing the argument --foo.__proto__.bar baz'
adds a bar
property with value baz
to all objects. This is only exploitable if attackers have control over the arguments being passed to yargs-parser
.
Upgrade to versions 13.1.2, 15.0.1, 18.1.1 or later.
Uncontrolled Resource Consumption in trim-newlines
@rkesters/gnuplot is an easy to use node module to draw charts using gnuplot and ps2pdf. The trim-newlines package before 3.0.1 and 4.x before 4.0.1 for Node.js has an issue related to regular expression denial-of-service (ReDoS) for the .end()
method.
Command Injection in lodash
lodash
versions prior to 4.17.21 are vulnerable to Command Injection via the template function.
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