Read the docs
TI-2026-85809 Aliases CVE-2026-120415

undici leaks cross-origin credentials via array-of-tuples headers on redirect

Priority LOW 26CWE-200Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-200.

Summary

undici versions 7.0.0 before 7.30.2 and 8.0.0 before 8.12.4 fail to strip Authorization, Cookie, Proxy-Authorization and Host on cross-origin redirects when request headers are an array of name and value tuples. The redirect interceptor misreads the tuples as a flat list. If a cache or deduplicate interceptor is composed outside it, the kept headers are sent to the cross-origin request, disclosing the caller's origin-bound credentials to the redirect destination. This bypasses the stripping added in CVE-2024-30260 (CWE-200, CWE-212).

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

Description from the CNA

undici is an HTTP client for Node.js. In versions 7.0.0 through 7.30.1 and 8.0.0 through 8.12.3, the redirect interceptor strips sensitive headers such as Authorization, Cookie, Proxy-Authorization, and Host when a request is redirected to a different origin, but when request headers are supplied as an array of name and value tuples (a valid documented input, for example from Object.entries), the redirect handler misreads them as a flat list so the header names never match and the sensitive headers are not removed. If a header-normalizing interceptor such as cache or deduplicate is composed outside the redirect interceptor, it then serializes the retained headers onto the cross-origin request, disclosing the caller's origin-bound credentials to the unrelated redirect destination. This is a representation-dependent bypass of the cross-origin header stripping added in CVE-2024-30260. 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 request headers as a plain object or a flat name and value array rather than an array of tuples, or compose the redirect interceptor outside the normalizing interceptor.

Why it matters now

EPSS 0.003 22nd percentileScored 2026-11-07
Fix Fixed undici (undici): 7.30.2, 8.12.4

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
NodeJSundici7.0.0 to before 7.30.2; 8.0.0 to before 8.12.47.30.2, 8.12.4Patch availableCNA
  • undici VendorNodeJS Affected 7.0.0 to before 7.30.2; 8.0.0 to before 8.12.4 Fixed in 7.30.2, 8.12.4 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:nodejs:undici:*:*:*:*:*:*:*:*——NodeJS
  • cpe:2.3:a:nodejs:undici:*:*:*:*:*:*:*:* Versions — — ·NodeJS

Remediation

Upgrade to undici 7.30.2 or 8.12.4, or later. Until then, pass request headers as a plain object or a flat name and value array instead of an array of tuples, or compose the redirect interceptor outside the normalizing interceptor.

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

  • Fix · CNA undici (undici) Fixed in 7.30.2, 8.12.4

Fixed in the same release

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

  • Release ·

    undici 7.30.2, 8.12.4

    6 records Highest priority Priority LOW 6 LOW

    Other records, highest priority first

    • TI-2026-85807 Cache poisoning in undici via intermediate redirect hopsPriority LOW 32
    • TI-2026-85805 Cross-user cache disclosure in undici via same-origin redirectPriority LOW 29
    • TI-2026-85808 Unhandled exception in undici cache interceptor crashes Node.js processPriority LOW 26

Timeline

  1. 2026-11-06 Threatist record created from CVE-2026-120415
  2. 2026-11-08 Priority changed: MEDIUM → LOW

References

  • TI-2026-79288 Out-of-bounds write in Google Brotli decoder KEVCVSS 4.0CRITICAL 9.2
  • TI-2023-23979 The HTTP/2 protocol allows a denial of service (server resource consumption) because… KEVCVSS 3.1HIGH 7.5
  • TI-2024-18584 Race condition in NodeJS Node CVSS 3.0HIGH 8.2
  • TI-2016-01993 The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other… CVSS 3.1HIGH 7.5
  • TI-2024-03325 Command injection vulnerability in programing languages on Microsoft Windows operating system. CVSS 3.1CRITICAL 9.8
  • TI-2022-03472 X.509 Email Address Variable Length Buffer Overflow CVSS 3.1HIGH 7.5
See all 295 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences