undici vulnerable to Denial of Service via unhandled error on excessive content-encodings
Published 23 Oct 2026 · Updated 23 Oct 2026
Affected packages
- Affected
- >=6.23.0 <6.29.1
- Fixed in
- 6.29.1
npm install undici@6.29.1- Affected
- >=7.18.0 <7.30.1
- Fixed in
- 7.30.1
npm install undici@7.30.1- Affected
- >=8.0.0 <8.12.2
- Fixed in
- 8.12.2
npm install undici@8.12.2Details
Impact
undici's fetch() crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses (a content-encoding limit), but it created the internal response stream before that check and returned without attaching an error listener or aborting the request. The early close then surfaces a content-length mismatch on that orphaned internal stream, which Node.js treats as an unhandled error and terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches the fetch() rejection. undici 6.x, 7.x, and 8.x are affected.
Patches
Upgrade to 6.29.1, 7.30.1, or 8.12.2. undici now validates the content-encoding chain before creating the internal body stream and aborts the response when the limit is exceeded, so no error can surface on an orphaned stream.
Workarounds
None.
Is GHSA-xjj6-f33q-929c 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-xjj6-f33q-929c
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-109869
- Linkgithub.com/nodejs/undici/commit/07ded4941b1e72afec862958c3b8ddf468f3b429
- Linkgithub.com/nodejs/undici/commit/1325a87dfb3492f8e87e6b0a84b3bda4e82e3436
- Linkgithub.com/nodejs/undici/commit/b5084c7dc239172d75c336b1cd51ddac023938a5
- Linkcna.openjsf.org/security-advisories.html
- Packagegithub.com/nodejs/undici
- Linkgithub.com/nodejs/undici/releases/tag/v6.29.1
- Linkgithub.com/nodejs/undici/releases/tag/v7.30.1
- Linkgithub.com/nodejs/undici/releases/tag/v8.12.2
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.