CVE-2026-2229
CVE-2026-2229 · undici is vulnerable to Unhandled Exception in undici WebSocket Client Due to Invalid server_max_window_bits Validation
This page contains facts from public vulnerability sources. Check the original advisory before updating.
This page shows selected source facts. See the linked advisories for the complete description and affected versions.
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
CVSS 7.5 · High · EPSS 0.9% · Fix available
- Published
- Updated
Affected products and versions
undici
- Versions
- < 6.24.0; 7.0.0 < 7.24.0: Affected
- 6.24.0: 7.24.0: Not affected
Update to 6.24.0: 7.24.0
node-undici Debian:12
- Versions
- 5.15.0+dfsg1+~cs20.10.9.3-1
- 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u1
- 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u2
- 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u3
- 5.15.0+dfsg1+~cs20.10.9.3-1+deb12u4
- 5.19.1+dfsg1+~cs20.10.9.5-1
- 5.19.1+dfsg1+~cs20.10.9.5-2
- 5.22.1+dfsg1+~cs20.10.10.2-1
- 5.26.3+dfsg1+~cs23.10.12-1
- 5.26.3+dfsg1+~cs23.10.12-2
- 5.26.3+dfsg1+~cs23.10.12-3
- 5.28.0+dfsg1+~cs23.11.12.3-1
- 5.28.0+dfsg1+~cs23.11.12.3-2
- 5.28.2+dfsg1+~cs23.11.12.3-1
- 5.28.2+dfsg1+~cs23.11.12.3-2
- 5.28.2+dfsg1+~cs23.11.12.3-3
- 5.28.2+dfsg1+~cs23.11.12.3-4
- 5.28.2+dfsg1+~cs23.11.12.3-5
- 5.28.2+dfsg1+~cs23.11.12.3-6
- 5.28.4+dfsg1+~cs23.12.11-1
- 5.28.4+dfsg1+~cs23.12.11-2
- 7.1.0+dfsg1+~cs24.12.10-1
- 7.15.0+dfsg+~cs3.2.0-1
- 7.15.0+dfsg+~cs3.2.0-3
- 7.16.0+dfsg+~cs3.2.0-1
- 7.16.0+dfsg+~cs3.2.0-2
- 7.18.2+dfsg+~cs3.2.0-1
- 7.2.3+dfsg1+~cs24.12.11-1
- 7.2.3+dfsg1+~cs24.12.11-2
- 7.24.5+dfsg+~cs3.2.0-1
- 7.24.6+dfsg+~cs3.2.0-1
- 7.24.6+dfsg+~cs3.2.0-2
- 7.24.6+dfsg+~cs3.2.0-3
- 7.3.0+dfsg1+~cs24.12.11-1
- 7.3.0+dfsg1+~cs24.12.11-2
- 8.10.2+dfsg+~cs3.2.2-1
- 8.5.0+dfsg+~cs3.2.0-1
- 8.5.0+dfsg+~cs3.2.0-2
- 8.5.0+dfsg+~cs3.2.0-3
- 8.9.0+dfsg+~cs3.2.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-undici Debian:13
- Versions
- 7.15.0+dfsg+~cs3.2.0-1
- 7.15.0+dfsg+~cs3.2.0-3
- 7.16.0+dfsg+~cs3.2.0-1
- 7.16.0+dfsg+~cs3.2.0-2
- 7.18.2+dfsg+~cs3.2.0-1
- 7.24.5+dfsg+~cs3.2.0-1
- 7.24.6+dfsg+~cs3.2.0-1
- 7.24.6+dfsg+~cs3.2.0-2
- 7.24.6+dfsg+~cs3.2.0-3
- 7.3.0+dfsg1+~cs24.12.11-1
- 7.3.0+dfsg1+~cs24.12.11-2
- 8.10.2+dfsg+~cs3.2.2-1
- 8.5.0+dfsg+~cs3.2.0-1
- 8.5.0+dfsg+~cs3.2.0-2
- 8.5.0+dfsg+~cs3.2.0-3
- 8.9.0+dfsg+~cs3.2.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-undici Debian:14
- Versions
- 7.15.0+dfsg+~cs3.2.0-1
- 7.15.0+dfsg+~cs3.2.0-3
- 7.16.0+dfsg+~cs3.2.0-1
- 7.16.0+dfsg+~cs3.2.0-2
- 7.18.2+dfsg+~cs3.2.0-1
- 7.3.0+dfsg1+~cs24.12.11-1
- 7.3.0+dfsg1+~cs24.12.11-2
- Affected ranges
- ECOSYSTEM: < 7.24.5+dfsg+~cs3.2.0-1
Update to 7.24.5+dfsg+~cs3.2.0-1
undici npm
- Affected ranges
- SEMVER: < 6.24.0
Update to 6.24.0
undici npm
- Affected ranges
- SEMVER: ≥ 7.0.0, < 7.24.0
Update to 7.24.0
node-undici Ubuntu:24.04:LTS
- Versions
- 5.22.1+dfsg1+~cs20.10.10.2-1ubuntu1
- 5.26.3+dfsg1+~cs23.10.12-2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-undici Ubuntu:25.10
- Versions
- 7.3.0+dfsg1+~cs24.12.11-1
- 7.3.0+dfsg1+~cs24.12.11-2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-undici Ubuntu:26.10
- Versions
- 7.18.2+dfsg+~cs3.2.0-1build1
- 7.24.6+dfsg+~cs3.2.0-3
- 8.5.0+dfsg+~cs3.2.0-2
- 8.5.0+dfsg+~cs3.2.0-3
- 8.9.0+dfsg+~cs3.2.0-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
node-undici Ubuntu:26.04:LTS
- Versions
- 7.3.0+dfsg1+~cs24.12.11-2
- 7.16.0+dfsg+~cs3.2.0-2
- 7.18.2+dfsg+~cs3.2.0-1
- 7.18.2+dfsg+~cs3.2.0-1build1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://github.com/nodejs/undici/security/advisories/GHSA-v9p9-hfj2-hcw8
- https://hackerone.com/reports/3487486
- https://cna.openjsf.org/security-advisories.html
- https://datatracker.ietf.org/doc/html/rfc7692
- https://nodejs.org/api/zlib.html#class-zlibinflateraw
- https://access.redhat.com/security/cve/CVE-2026-2229
- https://bugzilla.redhat.com/show_bug.cgi?id=2447143
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-2229.json
- https://access.redhat.com/errata/RHSA-2026:17789
- https://access.redhat.com/errata/RHSA-2026:7310
- https://access.redhat.com/errata/RHSA-2026:7080
- https://access.redhat.com/errata/RHSA-2026:7675
- https://access.redhat.com/errata/RHSA-2026:7123
- https://access.redhat.com/errata/RHSA-2026:7670
- https://access.redhat.com/errata/RHSA-2026:7983
- https://access.redhat.com/errata/RHSA-2026:7302
- https://access.redhat.com/errata/RHSA-2026:7350
- https://access.redhat.com/errata/RHSA-2026:34342
- https://access.redhat.com/errata/RHSA-2026:9742
- https://access.redhat.com/errata/RHSA-2026:13826
- https://access.redhat.com/errata/RHSA-2026:5807
- https://access.redhat.com/errata/RHSA-2026:21772
- https://access.redhat.com/errata/RHSA-2026:21931
- https://nvd.nist.gov/vuln/detail/CVE-2026-2229