CVE-2026-109869: undici vulnerable to Denial of Service via unhandled error on excessive content-encodings
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.
References
- cna.openjsf.org/security-advisories.html
- github.com/advisories/GHSA-xjj6-f33q-929c
- github.com/nodejs/undici/commit/07ded4941b1e72afec862958c3b8ddf468f3b429
- github.com/nodejs/undici/commit/1325a87dfb3492f8e87e6b0a84b3bda4e82e3436
- github.com/nodejs/undici/commit/b5084c7dc239172d75c336b1cd51ddac023938a5
- github.com/nodejs/undici/releases/tag/v6.29.1
- github.com/nodejs/undici/releases/tag/v7.30.1
- github.com/nodejs/undici/releases/tag/v8.12.2
- github.com/nodejs/undici/security/advisories/GHSA-xjj6-f33q-929c
- nvd.nist.gov/vuln/detail/CVE-2026-109869
Code Behaviors & Features
Detect and mitigate CVE-2026-109869 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →