undici vulnerable to cross-origin request routing via SOCKS5 proxy pool reuse
Date: 2026-06
Affected: npm/undici, npm/undici
Attack vector: other
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2026-6734
CVE-2026-9697
CWE: CWE-295
CWE-346
CVSS: 7.5 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H)

## Impact When using `Socks5ProxyAgent`, undici reuses a single connection pool across different origins without verifying that the pool's origin matches the requested origin. All requests are dispatched through the pool connected to the first origin, regardless of the intended destination. This causes cross-origin request routing: credentials and request data intended for origin B are sent to origin A, responses from the wrong origin are trusted, and HTTPS requests may be silently downgraded to HTTP. Impacted users are applications that use `Socks5ProxyAgent` (directly or via `setGlobalDispatcher`) and make requests to more than one origin. This was introduced in undici 7.23.0 via [#4385](https://github.com/nodejs/undici/pull/4385) and affects all versions through 8.1.0. ## Patches Upgrade to undici v7.28.0 or v8.2.0 ## Workarounds Use a separate `Socks5ProxyAgent` instance per origin, or avoid using `Socks5ProxyAgent` with multiple origins.


Mitigations:

Architectural layers (MAESTRO):