CVE-2026-2229

Source
https://cve.org/CVERecord?id=CVE-2026-2229
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-2229.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-2229
Aliases
Downstream
Related
Published
2026-03-12T21:16:25.573Z
Modified
2026-04-10T05:38:47.638595Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of the servermaxwindowbits 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 servermaxwindowbits 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
References

Affected packages

Git / github.com/nodejs/undici

Affected ranges

Type
GIT
Repo
https://github.com/nodejs/undici
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Introduced
Fixed
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "fixed": "6.24.0"
        },
        {
            "introduced": "7.0.0"
        },
        {
            "fixed": "7.24.0"
        }
    ]
}

Affected versions

v1.*
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.1.0
v1.2.0
v1.2.1
v1.2.2
v1.2.5
v1.2.6
v1.3.0
v1.3.1
v2.*
v2.0.0
v2.0.1
v2.0.2
v2.0.3
v2.0.4
v2.0.5
v2.0.6
v2.0.7
v2.1.0
v3.*
v3.0.0
v3.1.0
v3.2.0
v3.3.0
v3.3.1
v4.*
v4.0.0
v4.0.0-alpha.0
v4.0.0-alpha.1
v4.0.0-alpha.2
v4.0.0-alpha.4
v4.0.0-alpha.5
v4.0.0-rc.1
v4.0.0-rc.2
v4.0.0-rc.3
v4.0.0-rc.4
v4.0.0-rc.5
v4.0.0-rc.7
v4.0.0-rc.8
v4.1.0
v4.1.1
v4.10.0
v4.10.1
v4.10.2
v4.10.3
v4.10.4
v4.11.0
v4.11.1
v4.11.2
v4.11.3
v4.12.0
v4.12.2
v4.13.0
v4.14.0
v4.14.1
v4.15.0
v4.15.1
v4.16.0
v4.2.1
v4.2.2
v4.3.0
v4.3.1
v4.4.1
v4.4.2
v4.4.3
v4.4.4
v4.4.5
v4.4.6
v4.4.7
v4.5.0
v4.5.1
v4.6.0
v4.7.0
v4.7.1
v4.7.2
v4.7.3
v4.8.0
v4.8.1
v4.8.2
v4.9.0
v4.9.1
v4.9.2
v4.9.3
v4.9.4
v4.9.5
v5.*
v5.0.0
v5.1.0
v5.1.1
v5.10.0
v5.11.0
v5.12.0
v5.13.0
v5.14.0
v5.15.0
v5.15.1
v5.15.2
v5.16.0
v5.17.0
v5.17.1
v5.18.0
v5.19.0
v5.19.1
v5.2.0
v5.20.0
v5.21.0
v5.21.1
v5.21.2
v5.22.0
v5.22.1
v5.23.0
v5.23.4
v5.24.0
v5.25.0
v5.25.1
v5.25.2
v5.25.3
v5.26.0
v5.26.1
v5.26.2
v5.26.3
v5.26.4
v5.26.5
v5.27.0
v5.27.1
v5.27.2
v5.28.0
v5.28.1
v5.28.2
v5.3.0
v5.4.0
v5.5.0
v5.5.1
v5.6.0
v5.6.1
v5.7.0
v5.8.0
v5.8.1
v5.8.2
v5.9.1
v6.*
v6.0.0
v6.0.1
v6.1.0
v6.10.0
v6.10.1
v6.10.2
v6.11.0
v6.11.1
v6.12.0
v6.13.0
v6.14.0
v6.14.1
v6.15.0
v6.16.0
v6.16.1
v6.17.0
v6.18.0
v6.18.1
v6.18.2
v6.19.0
v6.19.1
v6.19.2
v6.19.3
v6.19.4
v6.19.5
v6.19.6
v6.19.7
v6.19.8
v6.2.0
v6.2.1
v6.20.0
v6.20.1
v6.21.0
v6.21.1
v6.21.2
v6.21.3
v6.22.0
v6.23.0
v6.3.0
v6.4.0
v6.5.0
v6.6.0
v6.6.1
v6.6.2
v6.7.0
v6.7.1
v6.8.0
v6.9.0
v7.*
v7.0.0
v7.1.0
v7.1.1
v7.10.0
v7.11.0
v7.12.0
v7.13.0
v7.14.0
v7.15.0
v7.16.0
v7.17.0
v7.18.0
v7.18.1
v7.18.2
v7.19.0
v7.19.1
v7.19.2
v7.2.0
v7.2.1
v7.2.2
v7.2.3
v7.20.0
v7.21.0
v7.22.0
v7.23.0
v7.3.0
v7.4.0
v7.5.0
v7.6.0
v7.7.0
v7.8.0
v7.9.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-2229.json"