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.
Published: 2026-07-14
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

UAParser.js is a JavaScript library that detects browsers, operating systems, CPUs, and devices from user‑agent data. From version 2.0.1 through 2.0.10, a regular expression denial‑of‑service flaw exists when the Client Hints API is used. A crafted Sec‑CH‑UA‑Model header sent to an application that calls UAParser(headers).withClientHints() can trigger catastrophic backtracking in the device regular expression because Client Hints values are copied without the UA_MAX_LENGTH limit applied to User‑Agent strings. This leads to excessive CPU consumption and can result in a denial of service. The issue is fixed in version 2.0.10.

Affected Systems

The vulnerability affects the FaisalMan UAParser.js library, versions 2.0.1 through 2.0.10. Any web or server application that imports this library and calls UAParser(headers).withClientHints() is exposed on the affected versions.

Risk and Exploitability

The CVSS score of 5.3 indicates a moderate impact. The EPSS score of <1% suggests a low probability of exploitation in the wild, and the issue is currently not listed in the CISA KEV catalog. The attack vector is remote, via an HTTP request that includes a crafted Sec‑CH‑UA‑Model header. If an application parses Client Hints without rate limiting, it is inferred that an attacker can trigger the ReDoS and degrade service.

Generated by OpenCVE AI on August 1, 2026 at 09:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade UAParser.js to version 2.0.10 or later.
  • Disable or remove usage of the withClientHints() method if not required.
  • If an immediate upgrade is not possible, validate and truncate the Sec‑CH‑UA‑Model header before passing it to UAParser.js, or consider implementing CPU usage throttling for the parser as an inferred mitigation.

Generated by OpenCVE AI on August 1, 2026 at 09:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9h5v-pfqq-x599 UAParser.js: Unbounded `Sec-CH-UA-Model` parsing can trigger ReDoS in `withClientHints()`
History

Mon, 27 Jul 2026 13:15:00 +0000

Type Values Removed Values Added
First Time appeared Faisalman
Faisalman ua-parser-js
Vendors & Products Faisalman
Faisalman ua-parser-js

Wed, 15 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 14 Jul 2026 21:15:00 +0000

Type Values Removed Values Added
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.
Title UAParser.js: Unbounded `Sec-CH-UA-Model` parsing can trigger ReDoS in `withClientHints()`
Weaknesses CWE-1333
CWE-400
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Faisalman Ua-parser-js
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-15T12:55:20.077Z

Reserved: 2026-05-20T18:46:58.291Z

Link: CVE-2026-48125

cve-icon Vulnrichment

Updated: 2026-07-15T12:55:05.654Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-14T20:54:56Z

Links: CVE-2026-48125 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T09:15:03Z

Weaknesses
  • CWE-1333

    Inefficient Regular Expression Complexity

  • CWE-400

    Uncontrolled Resource Consumption