Impact: When using Socks5ProxyAgent, undici reuses a single connection pool across different origins without verifying that the pools 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 PR #4385 and affects all versions through 8.1.0.
Patches: Upgrade to undici v7.26.0 or v8.2.0.
Workarounds: Use a separate Socks5ProxyAgent instance per origin, or avoid using Socks5ProxyAgent with multiple origins.
The product does not properly verify that the source of data or communication is valid.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Red Hat Hardened Images | RedHat | nodejs26-main-26.3.0-1.2.hum1 | * |
| Red Hat Hardened Images | RedHat | rust-main-1.96.0-1.hum1 | * |
| Red Hat Hardened Images | RedHat | nodejs25-main-25.9.0-1.1.hum1 | * |