Inquirer.js is a valuable tool for Node.js developers seeking to create interactive command-line interfaces. Examining versions 0.1.2 and 0.1.3 reveals subtle yet important updates. Both versions share core dependencies like "async," "charm," and "lodash," crucial for asynchronous operations, terminal character manipulation, and utility functions, respectively. The development dependencies, including testing frameworks like "chai," "mocha," and "sinon," alongside build tools like "grunt," are also consistent, ensuring code quality and efficient development workflows.
The principal difference lies in the release dates. Version 0.1.3 was released on May 30, 2013, a few days after version 0.1.2 which was released on May 24, 2013. This suggests that version 0.1.3 likely contains bug fixes or minor enhancements implemented shortly after the initial 0.1.2 release. For developers, this implies that upgrading to version 0.1.3 is advisable to benefit from the latest refinements.
While the exact nature of the changes isn't explicitly stated, the rapid succession of releases highlights the package maintainer's responsiveness to bug reports or user feedback. If you are starting a new project, using version 0.1.3 is preferable. If you are already using version 0.1.2, consider upgrading to benefit from possible bug fixes and increased stability. Always refer to the official changelog or commit history for a detailed breakdown of changes.
All the vulnerabilities related to the version 0.1.3 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.