CVE-2026-109855
undici WebSocket client vulnerable to Denial of Service via failed HTTP/2 handshake
Impact
undici is an HTTP client library for Node.js. In versions 8.11.0 and 8.11.1, its experimental WebSocket client, which is enabled by default when HTTP/2 is allowed, mishandles a failed WebSocket handshake over HTTP/2: the request is already marked completed, so the abort becomes a no-op and the underlying HTTP/2 stream is left open with no error listener. When a malicious server then destroys the connection, the orphaned stream emits an unhandled error and the Node.js process exits. A remote, unauthenticated server can therefore crash any client that opens a WebSocket to it over HTTP/2, resulting in a denial of service. The issue is fixed in undici 8.11.2, and users should upgrade to 8.11.2 or later. As a workaround, set allowH2 to false to disable HTTP/2 for WebSocket connections, or avoid opening WebSocket connections to untrusted servers.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | undici | >= 8.11.0, < 8.11.2 | 8.11.2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Nodejs | Undici | from 8.11.0 before 8.11.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-qq8j-7v2v-3rwp
- https://github.com/nodejs/undici/security/advisories/GHSA-qq8j-7v2v-3rwp
- https://nvd.nist.gov/vuln/detail/CVE-2026-109855
- https://github.com/nodejs/undici/pull/5873
- https://github.com/nodejs/undici/commit/dd28c5c55f4a25f7c441fd4365b1191f96c3b8bf
- https://cna.openjsf.org/security-advisories.html
- https://github.com/nodejs/undici/releases/tag/v8.11.2