undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse
Published 19 Jun 2026 · Updated 10 Sept 2026
Affected packages
- Affected
- <6.27.0
- Fixed in
- 6.27.0
npm install undici@6.27.0- Affected
- >=7.0.0 <7.28.0
- Fixed in
- 7.28.0
npm install undici@7.28.0- Affected
- >=8.0.0 <8.5.0
- Fixed in
- 8.5.0
npm install undici@8.5.0Details
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.27.0, v7.28.0 or v8.5.0.
Workarounds
Disable keep-alive connection reuse by setting keepAliveTimeout: 0 on the Client or Pool.
Is GHSA-35p6-xmwp-9g52 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected undici, and gives you the command that fixes it.
References
- Linkgithub.com/nodejs/undici/security/advisories/GHSA-35p6-xmwp-9g52
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-6733
- Linkgithub.com/nodejs/undici/commit/6ea54ef8c4051e95bb68c89d4a5c9274fe6fbb4b
- Linkhackerone.com/reports/3582376
- Linkcna.openjsf.org/security-advisories.html
- Packagegithub.com/nodejs/undici
- Linkgithub.com/nodejs/undici/releases/tag/v6.27.0
- Linkgithub.com/nodejs/undici/releases/tag/v7.28.0
- Linkgithub.com/nodejs/undici/releases/tag/v8.5.0
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.