@commitlint/cli version 7.5.0 introduces several updates compared to the previous stable version 7.4.0, primarily focusing on dependency upgrades and refinements. For developers utilizing commitlint to enforce commit message conventions, the key changes lie in the updated core modules. Notably, @commitlint/lint, @commitlint/read, and @commitlint/format dependencies are bumped to version 7.5.0, ensuring access to the latest linting rules, reading capabilities, and formatting options. Conversely, version 7.4.0 used @commitlint/load@7.3.1, @commitlint/read@7.3.1, @commitlint/test@7.3.1 and @commitlint/utils@7.3.1 while version 7.5.0 used 7.5.0 versions. Developers integrating commitlint should be aware of these updated dependencies, as they may introduce new features, bug fixes, or breaking changes that could affect existing configurations. These internal module upgrades usually mean improvements in the commit message analysis and rule enforcement.
Furthermore, the devDependencies see some modifications, with babel-preset-commitlint and @commitlint/utils aligning with the 7.5.0 versions. There is also a removal of xo from the devDependencies, likely reflecting a shift in the project's linting or code style tooling. The repository URL in package.json also changed from https://github.com/marionebl/commitlint.git to https://github.com/conventional-changelog/commitlint.git. Although seemingly minor, these dependency adjustments contribute to a more streamlined and up-to-date development environment for those contributing to or extending commitlint itself. The unpackedSize also increased, from 123643 in 7.4.0 to 127068 in 7.5.0.
All the vulnerabilities related to the version 7.5.0 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.
Prototype Pollution in lodash
Versions of lodash
before 4.17.12 are vulnerable to Prototype Pollution. The function defaultsDeep
allows a malicious user to modify the prototype of Object
via {constructor: {prototype: {...}}}
causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.12 or later.
Prototype Pollution in lodash
Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The functions pick
, set
, setWith
, update
, updateWith
, and zipObjectDeep
allow a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires manipulating objects based on user-provided property values or arrays.
This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.
Regular Expression Denial of Service (ReDoS) in lodash
All versions of package lodash prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber
, trim
and trimEnd
functions.
Steps to reproduce (provided by reporter Liyuan Chen):
var lo = require('lodash');
function build_blank(n) {
var ret = "1"
for (var i = 0; i < n; i++) {
ret += " "
}
return ret + "1";
}
var s = build_blank(50000) var time0 = Date.now();
lo.trim(s)
var time_cost0 = Date.now() - time0;
console.log("time_cost0: " + time_cost0);
var time1 = Date.now();
lo.toNumber(s) var time_cost1 = Date.now() - time1;
console.log("time_cost1: " + time_cost1);
var time2 = Date.now();
lo.trimEnd(s);
var time_cost2 = Date.now() - time2;
console.log("time_cost2: " + time_cost2);
Command Injection in lodash
lodash
versions prior to 4.17.21 are vulnerable to Command Injection via the template function.
dot-prop Prototype Pollution vulnerability
Prototype pollution vulnerability in dot-prop npm package versions before 4.2.1 and versions 5.x before 5.1.1 allows an attacker to add arbitrary properties to JavaScript language constructs such as objects.
Command Injection in lodash
lodash
versions prior to 4.17.21 are vulnerable to Command Injection via the template function.