Description
UAParser.js is a JavaScript library to detect browsers, operating systems, CPUs, and devices from user-agent data. From 2.0.1 until 2.0.10, a regular expression denial-of-service vulnerability exists when using the Client Hints API. By sending a crafted Sec-CH-UA-Model header to an application that calls UAParser(headers).withClientHints(), an attacker can cause excessive CPU time due to catastrophic backtracking in the device regex because Client Hints values are copied without the UA_MAX_LENGTH limit used for User-Agent values. This issue is fixed in version 2.0.10.
Problem types
CWE-400: Uncontrolled Resource Consumption
CWE-1333: Inefficient Regular Expression Complexity
Product status
References
github.com/...ser-js/security/advisories/GHSA-9h5v-pfqq-x599
github.com/...ommit/90354d3458495628b1d3ba68a9d76673e6d14fc5
github.com/faisalman/ua-parser-js/releases/tag/2.0.10