Inquirer.js is a popular npm package offering a streamlined way to build interactive command-line user interfaces. Version 0.6.0, released on August 7th, 2014, builds upon the foundation of version 0.5.1, which was launched on May 27th, 2014, by introducing a key new dependency: RxJS (Reactive Extensions for JavaScript) with a version constraint of "^2.2.27". This addition signals a move towards more reactive and asynchronous programming patterns within Inquirer.js. The RxJS library likely enhances how the tool manages asynchronous user inputs and events, potentially leading to more responsive and robust command-line interactions.
Another notable alteration concerns the Chalk dependency, a library for styling terminal output. Version 0.6.0 updates the required Chalk version to "^0.5.0" from "~0.4.0" in version 0.5.1. This implies improvements in the color output capabilities or bug fixes incorporated in the newer Chalk release. While the core functionality remains similar in providing interactive prompts and collecting user responses, developers opting for version 0.6.0 will benefit from the enhancements offered by RxJS and the updated Chalk library. The other dependencies and functionalities remain mostly unchanged between the two versions. For those seeking reactive programming paradigms in their command-line interfaces or needing the latest Chalk styling features, version 0.6.0 of Inquirer.js represents a worthwhile upgrade.
All the vulnerabilities related to the version 0.6.0 of the package
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
before 4.17.5 are vulnerable to prototype pollution.
The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object
via __proto__
causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.5 or later.
Prototype Pollution in lodash
Versions of lodash
before 4.17.11 are vulnerable to prototype pollution.
The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow 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.11 or later.
Regular Expression Denial of Service (ReDoS) in lodash
lodash prior to 4.7.11 is affected by: CWE-400: Uncontrolled Resource Consumption. The impact is: Denial of service. The component is: Date handler. The attack vector is: Attacker provides very long strings, which the library attempts to match using a regular expression. The fixed version is: 4.7.11.
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.