Description
undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its fetch() implementation verifies Subresource Integrity metadata by matching the algorithm token against a lowercase-only set, even though the SRI specification defines the token by its ASCII-lowercase form, so a valid but non-lowercase token such as an uppercase or mixed-case SHA256 is treated as unknown and skipped. When no recognized algorithm remains, undici treats the integrity list as empty and accepts the response, so a server returning a body that does not match the pinned digest passes the check. An attacker who controls only the response body can therefore deliver attacker-controlled bytes to an application that pinned a valid uppercase or mixed-case SRI token, with no integrity error, affecting response integrity only. The issue is fixed in undici 7.30.1 and 8.12.2, which normalize the algorithm token to ASCII lowercase before validation, and users should upgrade to one of those versions or later. As a workaround, use lowercase algorithm tokens such as sha256, sha384, or sha512 in integrity metadata.
Published: 2026-10-15
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Response integrity bypass via Subresource Integrity verification flaw
Action: Update Library
AI Analysis

Impact

undici’s fetch implementation incorrectly treats Subresource Integrity (SRI) algorithm tokens that contain uppercase or mixed‑case characters as unknown. When all tokens in the integrity list are ignored, the library accepts the response as possessing no integrity constraints. An attacker with control of the HTTP response body can thus deliver arbitrary content to an application that relies on a non‑lowercase SRI token, compromising the integrity of that payload.

Affected Systems

The issue affects the undici HTTP client library for Node.js. Vulnerable versions are 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1. The fix is included in undici 7.30.1 and 8.12.2, which normalize algorithm tokens to ASCII lowercase before validation.

Risk and Exploitability

The CVSS score of 5.9 indicates a moderate risk level. EPSS data is reported as < 1%, suggesting a very low but non‑zero probability of exploitation and the vulnerability is not listed in CISA’s KEV catalog. Exploitation requires an attacker to control the server that serves the challenged resource; once the server is compromised or the attacker can modify the response, the victim’s application will silently accept the malicious payload.

Generated by OpenCVE AI on October 16, 2026 at 19:54 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade undici to version 7.30.1, 8.12.2, or a later release that includes the SRI algorithm token normalization fix.
  • Replace any uppercase or mixed‑case SRI tokens (e.g., SHA256) in requests with lowercase forms such as sha256, sha384, or sha512 to enforce correct integrity validation.
  • If upgrading or changing SRI tokens is not feasible, switch to an HTTP client library that enforces SRI accurately.

Generated by OpenCVE AI on October 16, 2026 at 19:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f72v-6w45-q472 undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens
History

Mon, 19 Oct 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Nodejs
Nodejs undici
CPEs cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
Vendors & Products Nodejs
Nodejs undici

Sat, 17 Oct 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Undici
Undici undici
Vendors & Products Undici
Undici undici

Fri, 16 Oct 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 16 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-354
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 15 Oct 2026 18:45:00 +0000

Type Values Removed Values Added
Description undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its fetch() implementation verifies Subresource Integrity metadata by matching the algorithm token against a lowercase-only set, even though the SRI specification defines the token by its ASCII-lowercase form, so a valid but non-lowercase token such as an uppercase or mixed-case SHA256 is treated as unknown and skipped. When no recognized algorithm remains, undici treats the integrity list as empty and accepts the response, so a server returning a body that does not match the pinned digest passes the check. An attacker who controls only the response body can therefore deliver attacker-controlled bytes to an application that pinned a valid uppercase or mixed-case SRI token, with no integrity error, affecting response integrity only. The issue is fixed in undici 7.30.1 and 8.12.2, which normalize the algorithm token to ASCII lowercase before validation, and users should upgrade to one of those versions or later. As a workaround, use lowercase algorithm tokens such as sha256, sha384, or sha512 in integrity metadata.
Title undici vulnerable to Subresource Integrity bypass via non-lowercase algorithm tokens
Weaknesses CWE-178
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-10-16T20:04:41.388Z

Reserved: 2026-10-13T07:02:52.591Z

Link: CVE-2026-109841

cve-icon Vulnrichment

Updated: 2026-10-16T20:04:37.135Z

cve-icon NVD

Status : Analyzed

Published: 2026-10-15T19:17:21.640

Modified: 2026-10-19T20:45:30.840

Link: CVE-2026-109841

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-15T18:22:06Z

Links: CVE-2026-109841 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-17T09:15:06Z

Weaknesses
  • CWE-178

    Improper Handling of Case Sensitivity

  • CWE-354

    Improper Validation of Integrity Check Value