CVE-2026-2229

ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of the server_max_window_bits parameter in the permessage-deflate extension. When a WebSocket client connects to a server, it automatically advertises support for permessage-deflate compression. A malicious server can respond with an out-of-range server_max_window_bits value (outside zlib's valid range of 8-15). When the server subsequently sends a compressed frame, the client attempts to create a zlib InflateRaw instance with the invalid windowBits value, causing a synchronous RangeError exception that is not caught, resulting in immediate process termination. The vulnerability exists because: * The isValidClientWindowBits() function only validates that the value contains ASCII digits, not that it falls within the valid range 8-15 * The createInflateRaw() call is not wrapped in a try-catch block * The resulting exception propagates up through the call stack and crashes the Node.js process
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*
cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*

History

20 Mar 2026, 15:39

Type Values Removed Values Added
First Time Nodejs undici
Nodejs
References () https://cna.openjsf.org/security-advisories.html - () https://cna.openjsf.org/security-advisories.html - Vendor Advisory
References () https://datatracker.ietf.org/doc/html/rfc7692 - () https://datatracker.ietf.org/doc/html/rfc7692 - Technical Description
References () https://github.com/nodejs/undici/security/advisories/GHSA-v9p9-hfj2-hcw8 - () https://github.com/nodejs/undici/security/advisories/GHSA-v9p9-hfj2-hcw8 - Vendor Advisory
References () https://hackerone.com/reports/3487486 - () https://hackerone.com/reports/3487486 - Permissions Required
References () https://nodejs.org/api/zlib.html#class-zlibinflateraw - () https://nodejs.org/api/zlib.html#class-zlibinflateraw - Technical Description
CPE cpe:2.3:a:nodejs:undici:*:*:*:*:*:node.js:*:*

13 Mar 2026, 20:06

Type Values Removed Values Added
Summary
  • (es) Impacto El cliente WebSocket undici es vulnerable a un ataque de denegación de servicio debido a la validación incorrecta del parámetro server_max_window_bits en la extensión permessage-deflate. Cuando un cliente WebSocket se conecta a un servidor, anuncia automáticamente soporte para la compresión permessage-deflate. Un servidor malicioso puede responder con un valor server_max_window_bits fuera de rango (fuera del rango válido de zlib de 8-15). Cuando el servidor envía posteriormente un frame comprimido, el cliente intenta crear una instancia zlib InflateRaw con el valor windowBits no válido, causando una excepción RangeError síncrona que no es capturada, lo que resulta en la terminación inmediata del proceso. La vulnerabilidad existe porque: * La función isValidClientWindowBits() solo valida que el valor contiene dígitos ASCII, no que caiga dentro del rango válido 8-15 * La llamada a createInflateRaw() no está envuelta en un bloque try-catch * La excepción resultante se propaga a través de la pila de llamadas y bloquea el proceso de Node.js

12 Mar 2026, 21:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-12 21:16

Updated : 2026-03-20 15:39


NVD link : CVE-2026-2229

Mitre link : CVE-2026-2229

CVE.ORG link : CVE-2026-2229


JSON object : View

Products Affected

nodejs

  • undici
CWE
CWE-248

Uncaught Exception

CWE-1284

Improper Validation of Specified Quantity in Input