Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Upstream server control is a genuine non-trivial prerequisite (AC:H); no client-side privileges are required (PR:N); impact is limited to response integrity misrouting with no confidentiality or availability consequence.
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Lifecycle Timeline
2Blast Radius
ecosystem impact- 28 npm packages depend on undici (16 direct, 23 indirect)
Ecosystem-wide dependent count for version 7.0.0.
DescriptionCVE.org
Impact: Undici's HTTP/1.1 client is vulnerable to response queue poisoning on reused keep-alive sockets. An attacker-controlled upstream server can inject an unsolicited HTTP/1.1 response onto an idle socket after a request completes. When the client dispatches the next request on that socket, it associates the injected response with the new request, causing responses to be delivered to the wrong requests.
This requires an attacker-controlled or compromised upstream HTTP/1.1 server and keep-alive connection reuse.
Patches: Upgrade to undici v6.26.0, v7.28.0 or v8.5.0.
Workarounds: Disable keep-alive connection reuse by setting keepAliveTimeout: 0 on the Client or Pool.
AnalysisAI
Response queue poisoning in Undici's HTTP/1.1 client allows an attacker-controlled or compromised upstream server to inject unsolicited HTTP responses onto idle keep-alive sockets, causing subsequent outbound requests to receive falsified responses. All Undici versions across the v6, v7, and v8 branches prior to the patched releases are affected when keep-alive connection reuse is active (the default). While the CVSS score is low (3.7) and no public exploit or KEV listing exists, the integrity impact can carry significant business logic consequences in applications that proxy requests through third-party or partially trusted upstream servers.
Technical ContextAI
Undici is a high-performance HTTP/1.1 client library for Node.js, widely used both directly and as the underlying transport for the Node.js built-in fetch() API. The vulnerability arises from how Undici manages persistent keep-alive connections: after a request-response cycle completes, the socket is returned to the connection pool for reuse. CWE-367 (Time-of-check Time-of-use) is assigned, reflecting a race condition in the window between a socket becoming idle and the client dispatching the next request on it. An attacker who controls the upstream HTTP/1.1 server exploits this window by injecting a crafted, unsolicited HTTP response onto the idle socket. When Undici dispatches the next request on that socket, it associates the pre-injected response with the new request, silently delivering attacker-controlled data to the application. The affected CPE cpe:2.3:a:undici:undici:*:*:*:*:*:*:*:* covers all versions prior to the fixes.
RemediationAI
Upgrade Undici to v6.26.0, v7.28.0, or v8.5.0 depending on the currently deployed major branch; these are the vendor-confirmed fixed releases per the GitHub Security Advisory GHSA-35p6-xmwp-9g52. If an immediate upgrade is not feasible, the vendor-documented workaround is to disable keep-alive connection reuse by setting keepAliveTimeout: 0 on the Undici Client or Pool instance. This eliminates the injection window entirely but removes TCP connection reuse, increasing per-request latency and connection overhead - a significant trade-off for high-throughput applications. Applications that proxy to untrusted, third-party, or multi-tenant upstream servers should treat the upgrade as elevated priority regardless of the low base score, given that response misrouting in those contexts can corrupt application logic silently.
undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forge
Memory exhaustion denial of service in the undici WebSocket client (versions 6.17.0 and later) allows a malicious or com
Cross-user information disclosure in undici's cache interceptor allows authenticated users' responses to be served from
Cookie attribute injection in undici's setCookie function allows attacker-controlled domain values or unparsed array ent
Authorization headers are cleared on cross-origin redirect. Rated medium severity (CVSS 6.5), this vulnerability is remo
`Undici.ProxyAgent` never verifies the remote server's certificate, and always exposes all request & response data to th
CRLF injection in undici's HTTP/1.1 dispatcher enables HTTP header injection and potential request smuggling when applic
Undici is an HTTP/1.1 client for Node.js. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable,
undici is an HTTP/1.1 client, written from scratch for Node.js.`=< undici@5.8.0` users are vulnerable to _CRLF Injection
Cross-user information disclosure and a parse-time denial of service in undici's HTTP cache interceptor affect versions
Cross-origin request misrouting in undici's Socks5ProxyAgent (introduced in 7.23.0, affecting all releases through 8.1.0
Denial-of-service in the undici WebSocket client (Node.js HTTP/WebSocket library) version 8.1.0 through versions prior t
Same technique Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-37769
GHSA-35p6-xmwp-9g52