Read the docs

Subresource Integrity bypass in undici fetch via mixed-case tokens

Priority LOW 32CWE-178Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · High · None
Fix status
Partial Red Hat: 2 fixed, 17 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat.

Summary

Versions of undici from 7.15.0 before 7.30.1 and from 8.0.0 before 8.12.2 are affected. Its fetch() function checks Subresource Integrity tokens against lowercase names only (CWE-178), so a valid uppercase or mixed-case token such as SHA256 is skipped as unknown. With no recognized algorithm left, the response is accepted, so a remote attacker who controls only the response body can deliver mismatched content without an error. The impact is limited to response integrity.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00252 16th percentileScored 2026-11-07
Fix Partial undici (undici): 7.30.1, 8.12.2undici (npm): 7.30.1, 8.12.2Red Hat: 3 advisoriesRed Hat: 2 fixed, 17 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
NodeJSundici7.15.0 to before 7.30.1; 8.0.0 to before 8.12.27.30.1, 8.12.2Patch availableCNA
—undici (npm)7.15.0 to before 7.30.17.30.1Patch availableGHSA-f72v-6w45-q472
—undici (npm)8.0.0 to before 8.12.28.12.2Patch availableGHSA-f72v-6w45-q472
  • undici VendorNodeJS Affected 7.15.0 to before 7.30.1; 8.0.0 to before 8.12.2 Fixed in 7.30.1, 8.12.2 Patch available CNA
  • undici (npm) Vendor— Affected 7.15.0 to before 7.30.1 Fixed in 7.30.1 Patch available GHSA-f72v-6w45-q472
  • undici (npm) Vendor— Affected 8.0.0 to before 8.12.2 Fixed in 8.12.2 Patch available GHSA-f72v-6w45-q472

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*7.15.0 to before 7.30.1; 8.0.0 to before 8.12.2VulnerableNodeJS
  • cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:* Versions 7.15.0 to before 7.30.1; 8.0.0 to before 8.12.2 Vulnerable ·NodeJS

Remediation

Upgrade undici to 7.30.1 or 8.12.2, which normalize the algorithm token to ASCII lowercase before validation. Red Hat fixes Trusted Artifact Signer 1.5 in RHSA-2026:95124 and Hardened Images in RHSA-2026:84706 and RHSA-2026:84657. Red Hat lists Cryostat 4, Red Hat AMQ Broker 7, Red Hat Enterprise Linux 8 and other products as affected with no fix available. As a workaround, use lowercase tokens such as sha256, sha384 or sha512 in integrity metadata.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

  • Fix · CNA undici (undici) Fixed in 7.30.1, 8.12.2
  • Fix · GHSA-f72v-6w45-q472 undici (npm) Fixed in 7.30.1 Advisory →
  • Fix · GHSA-f72v-6w45-q472 undici (npm) Fixed in 8.12.2 Advisory →

Red Hat 3 advisories

  • RHSA-2026:95124 Released 2026-11-04 · Red Hat rating Important
    RHTAS 1.5.1 - Red Hat Trusted Artifact Signer Release
    • Red Hat Trusted Artifact Signer 1.5 registry.redhat.io/rhtas/rhtas-console-rhel9, registry.redhat.io/rhtas/rhtas-console-ui-rhel9
  • RHSA-2026:84706 Released 2026-10-19 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images nodejs24-24.21.0-1.5.hum1@aarch64, nodejs24-24.21.0-1.5.hum1@s390x, nodejs24-24.21.0-1.5.hum1@src +25
  • RHSA-2026:84657 Released 2026-10-19 · Red Hat rating Important
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images nodejs26-26.11.1-0.4.hum1@aarch64, nodejs26-26.11.1-0.4.hum1@s390x, nodejs26-26.11.1-0.4.hum1@src +25

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    undici 7.30.1, 8.12.2

    3 records Highest priority Priority MEDIUM 1 MEDIUM, 2 LOW

    Other records, highest priority first

    • TI-2026-74888 undici cache poisoning and cross-user disclosure via cross-origin redirectsPriority MEDIUM 40
    • TI-2026-74993 Uncaught exception in undici decompress interceptor allows crashesPriority LOW 32

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Cryostat 4AffectedNo fix yet: Fix deferred
Exploit IntelligenceAffectedNo fix planned: Out of support scope
Red Hat AMQ Broker 7AffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Build of Podman DesktopAffectedNo fix yet: Fix deferred
Red Hat Developer Hub 1AffectedNo fix yet
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat Hardened ImagesAffectedNo fix planned: Will not fix
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred
Red Hat OpenShift Dev SpacesAffectedNo fix yet
Red Hat Openshift Data Foundation 4AffectedNo fix yet: Fix deferred
Secrets Management Console for Red Hat OpenShiftAffectedNo fix planned: Out of support scope
Self-service automation portal 2AffectedNo fix yet: Fix deferred
Red Hat Hardened ImagesFixed RHSA-2026:84657, RHSA-2026:84706
Red Hat Trusted Artifact Signer 1.5Fixed RHSA-2026:95124
Not affected: 2 products
  • Red Hat Hardened Images
  • Red Hat Trusted Artifact Signer 1.5

Timeline

  1. 2026-10-16 Threatist record created from CVE-2026-109841
  2. 2026-10-16 Priority changed: MEDIUM → LOW
  3. 2026-10-16 Affected versions changed · Red Hat
  4. 2026-10-16 CVSS score added · Red Hat
  5. 2026-10-18 CISA SSVC decision points changed
  6. 2026-10-18 Affected versions changed · Red Hat
  7. 2026-10-19 Fix available: RHSA-2026:84657 · Red Hat
  8. 2026-10-19 Fix available: RHSA-2026:84706 · Red Hat
  9. 2026-10-20 CVSS score added · NVD
  10. 2026-10-20 Fix available: Red Hat Hardened Images · Red Hat
  11. 2026-10-23 Alias added: GHSA-f72v-6w45-q472
  12. 2026-10-23 Fix available: npm/[email protected], npm/[email protected] · GHSA-f72v-6w45-q472
  13. 2026-10-23 CVSS score added · GHSA-f72v-6w45-q472
  14. 2026-10-23 Weakness changed · GHSA-f72v-6w45-q472
  15. 2026-10-23 8 new references · GHSA-f72v-6w45-q472
  16. 2026-10-27 Affected versions changed · Red Hat
  17. 2026-10-30 Affected versions changed · Red Hat
  18. 2026-11-04 Fix available: RHSA-2026:95124 · Red Hat
  19. 2026-11-04 Fix available: Red Hat Trusted Artifact Signer 1.5 · Red Hat

References

  • TI-2026-01215 undici is vulnerable to Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') CVSS 3.1CRITICAL 9.8
  • TI-2022-16376 `undici.request` vulnerable to SSRF using absolute URL on `pathname` CVSS 3.1CRITICAL 9.8
  • TI-2023-09734 CRLF Injection in Nodejs ‘undici’ via host CVSS 3.1MEDIUM 6.5
  • TI-2022-13193 CRLF injection in request headers CVSS 3.1MEDIUM 6.5
  • TI-2022-16375 CRLF Injection in Nodejs ‘undici’ via Content-Type CVSS 3.1MEDIUM 5.3
  • TI-2022-13194 Uncleared cookies on cross-host/cross-origin redirect in undici CVSS 3.1MEDIUM 6.5
See all 51 →

Sources