CVE-2026-120423

Source
https://cve.org/CVERecord?id=CVE-2026-120423
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-120423.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-120423
Aliases
  • GHSA-r4pc-4jcp-7pqc
Downstream
Published
2026-11-06T10:08:32Z
Modified
2026-11-08T02:31:09Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
undici vulnerable to Subresource Integrity bypass via whitespace in integrity metadata
Details

undici is an HTTP client for Node.js. In versions 7.15.0 through 7.30.1 and 8.0.0 through 8.12.3, fetch verifies Subresource Integrity metadata by splitting the integrity string on a single space, but the SRI grammar separates metadata by ASCII whitespace, which also includes the horizontal tab. An integrity value whose digest is preceded by a tab or other ASCII whitespace is parsed as a single unrecognized token and skipped, and when no recognized algorithm remains undici treats the integrity list as empty and accepts the response, so a server returning a body different from the pinned digest passes the check. An application that pins a response with a valid but whitespace-surrounded SRI value receives attacker-controlled bytes with no integrity error, and the attacker needs only to control the response body, not the integrity metadata. The issue is fixed in undici 7.30.2 and 8.12.4, and users should upgrade to one of those versions or later. As a workaround, supply SRI integrity metadata without surrounding whitespace, using a single space to separate multiple digests.

Database specific
{
    "cna_assigner": "openjs",
    "cwe_ids": [
        "CWE-354"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120423.json"
}
References

Affected packages

Git / github.com/nodejs/undici

Affected ranges

Type
GIT
Repo
https://github.com/nodejs/undici
Events
Database specific
Show details
{
    "extracted_events": [
        {
            "range": [
                {
                    "introduced": "7.15.0"
                },
                {
                    "fixed": "7.30.2"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        },
        {
            "range": [
                {
                    "introduced": "8.0.0"
                },
                {
                    "fixed": "8.12.4"
                }
            ],
            "source": "AFFECTED_FIELD",
            "strategy": "StandardRange"
        }
    ]
}

Affected versions

v7.*
v7.15.0
v7.16.0
v7.17.0
v7.18.0
v7.18.1
v7.18.2
v7.19.0
v7.19.1
v7.19.2
v7.20.0
v7.21.0
v7.22.0
v7.23.0
v7.24.0
v7.24.1
v7.24.2
v7.24.3
v7.24.4
v7.24.5
v7.24.6
v7.24.7
v7.24.8
v7.25.0
v7.26.0
v7.27.0
v7.27.1
v7.27.2
v7.28.0
v7.29.0
v7.29.1
v7.30.0
v7.30.1
v8.*
v8.0.0
v8.0.1
v8.0.2
v8.0.3
v8.1.0
v8.10.0
v8.10.1
v8.10.2
v8.11.0
v8.11.1
v8.11.2
v8.12.0
v8.12.1
v8.12.2
v8.12.3
v8.2.0
v8.3.0
v8.4.0
v8.4.1
v8.5.0
v8.6.0
v8.7.0
v8.8.0
v8.9.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-120423.json"