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 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.
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HNode.js Undici
APPNodejs7.23.0 – 7.28.0 (bez)8.0.0 – 8.2.0 (bez)
Related vulnerabilities
Impact: undici's ProxyAgent silently drops the requestTls option when configured with a SOCKS5 proxy URI (sock...
Impact: The undici WebSocket client enforces maxPayloadSize per-frame but does not enforce the cumulative size...
Impact: The undici WebSocket client enforces maxPayloadSize on the cumulative byte count of fragments in a mes...
ImpactA server can reply with a WebSocket frame using the 64-bit length form and an extremely large length. un...
The undici WebSocket client is vulnerable to a denial-of-service attack via unbounded memory consumption durin...