<Vulnerability name="CVE-2026-48125">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Moderate</ThreatSeverity>
    <PublicDate>2026-07-14T20:54:56</PublicDate>
    <Bugzilla id="2500746" url="https://bugzilla.redhat.com/show_bug.cgi?id=2500746" xml:lang="en:us">
ua-parser-js: UAParser.js: Denial of Service via crafted Client Hints header
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>5.3</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-1333</CWE>
    <Details xml:lang="en:us" source="Mitre">
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.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in UAParser.js, a JavaScript library for detecting client information. A remote attacker can exploit this vulnerability by sending a specially crafted `Sec-CH-UA-Model` header when the application uses the Client Hints API. This can cause excessive CPU usage due to a regular expression denial-of-service (ReDoS) issue, leading to a denial of service for the affected application.
    </Details>
    <Statement xml:lang="en:us">
The `Sec-CH-UA-Model` header is part of the User-Agent Client Hints infrastructure. Mobile browsers send this hint to inform servers about the specific device model. Servers use the model name to tailor content, apply device-specific optimizations, or log analytics about which hardware models access a service.

A Regular Expression Denial of Service (ReDoS) vulnerability was found in the ua-parser-js npm package. By sending a crafted `Sec-CH-UA-Model` header to an application that calls `UAParser(headers).withClientHints()`, an attacker can cause the parser to spend excessive CPU time.

A single request with a ~32,000-character model value can consume over 400ms of CPU time, with parsing time growing polynomially with input length. The impact is availability only, there is no confidentiality or integrity impact.
    </Statement>
    <Mitigation xml:lang="en:us">
If you are managing web servers or Node.js applications that process user-agent information, you can defend against this attack vector using the following approaches:
* Apply header length restrictions (reverse proxy, WAF, application)
* Opt-out of Client Hints, avoid parsing the Sec-CH-UA-Model with ua-parser-js npm package

Upgrading to version 2.0.10+ mitigates this issue, by setting a maximum cap size of UA_MAX_LENGTH = 500.
    </Mitigation>
    <PackageState cpe="cpe:/a:redhat:gatekeeper:3">
        <ProductName>Gatekeeper 3</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>gatekeeper/gatekeeper-rhel9</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:rhmt:1">
        <ProductName>Migration Toolkit for Containers</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>rhmtc/openshift-migration-ui-rhel8</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:podman_desktop:1">
        <ProductName>Red Hat Build of Podman Desktop</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>rh-podman-desktop.git</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:ceph_storage:9">
        <ProductName>Red Hat Ceph Storage 9</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>rhceph/alloy-rhel10</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/o:redhat:enterprise_linux:7">
        <ProductName>Red Hat Enterprise Linux 7</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>subscription-manager</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/a:redhat:hummingbird:1">
        <ProductName>Red Hat Hardened Images</ProductName>
        <FixState>Not affected</FixState>
        <PackageName>dotnet8.0</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openshift_ai">
        <ProductName>Red Hat OpenShift AI (RHOAI)</ProductName>
        <FixState>Not affected</FixState>
        <PackageName>rhoai/odh-mlflow-rhel9</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openshift:4">
        <ProductName>Red Hat OpenShift Container Platform 4</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>openshift4/ose-console</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openshift:4">
        <ProductName>Red Hat OpenShift Container Platform 4</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>openshift4/ose-console-rhel9</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-48125
https://nvd.nist.gov/vuln/detail/CVE-2026-48125
https://github.com/faisalman/ua-parser-js/commit/90354d3458495628b1d3ba68a9d76673e6d14fc5
https://github.com/faisalman/ua-parser-js/releases/tag/2.0.10
https://github.com/faisalman/ua-parser-js/security/advisories/GHSA-9h5v-pfqq-x599
    </References>
</Vulnerability>