CVE-2026-109869
Description
undici is an HTTP client library for Node.js. In versions 6.23.0 through 6.29.0, 7.18.0 through 7.30.0, and 8.0.0 through 8.12.1, its fetch() implementation 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 because of 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, so the early close surfaces a content-length mismatch on the orphaned 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, resulting in a denial of service. The issue is fixed in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. There is no workaround.
How to fix
- nodejs undici6.29.1, 7.30.1, 8.12.2 or later
- undici6.29.1, 7.30.1, 8.12.2 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| nodejs undici | 6.23.0 ≤ v < 6.29.1, 7.18.0 ≤ v < 7.30.1, 8.0.0 ≤ v < 8.12.2 | 6.29.1, 7.30.1, 8.12.2 |
| undicinpm | 6.23.0 ≤ v < 6.29.1, 7.18.0 ≤ v < 7.30.1, 8.0.0 ≤ v < 8.12.2 | 6.29.1, 7.30.1, 8.12.2 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.