Summary
undici vulnerable to Denial of Service via unrequested WebSocket subprotocol
Advisory details
Impact
The undici WebSocket client throws an uncaught TypeError during the opening handshake when a server's 101 response includes a Sec-WebSocket-Protocol header that the client never requested. The throw occurs in a queueMicrotask callback with no surrounding try/catch, so it propagates as an uncaught exception and terminates the Node.js process. This is a remote, unauthenticated denial of service against any application that opens a WebSocket to an attacker controlled or compromised server, or over a plaintext ws:// connection subject to a machine-in-the-middle. It affects the default new WebSocket(url) usage, where no subprotocol is requested. Per RFC 6455 section 4.1, an unrequested subprotocol must fail the connection, not crash it.
All releases starting at undici 6.7.0 are affected.
Patches
Upgrade to undici 6.28.1, 7.29.1, or 8.10.2.
Workarounds
No workaround is available. The fix must be applied through an upgrade.
References
- https://github.com/advisories/GHSA-rfgv-xxqx-mfg5
- https://github.com/nodejs/undici/security/advisories/GHSA-rfgv-xxqx-mfg5
- https://nvd.nist.gov/vuln/detail/CVE-2026-19534
- https://github.com/nodejs/undici/commit/2af0faf88b906d3127a360c3ac75164c0f95e5a5
- https://github.com/nodejs/undici/commit/6615e0175e9b635bcd2e3e87a47daa82f6f5b728
- https://github.com/nodejs/undici/commit/66e12816064cf3068f63bd134748b7fc4e779bad
- https://cna.openjsf.org/security-advisories.html
- https://github.com/nodejs/undici/releases/tag/v6.28.1
Related vulnerabilities
All Supply chain →- HIGHCVE-2026-84994
Qwik: Crashing any Qwik Server via Resource thenable
- MEDIUMCVE-2026-100347
kin-openapi: Unauthenticated panic (DoS) in openapi3filter legacy router via non-canonical/unsupported HTTP method on a static path
- HIGHCVE-2026-97394
kin-openapi: Nil-pointer dereference panic in openapi3filter for OpenAPI 3.1 array schemas missing items
- MEDIUMCVE-2026-107382
MariaDB Connector/Node.js: Uncaught exception crashes the client during ed25519 authentication with zero-configuration TLS
- MEDIUMCVE-2026-107392
music-metadata: uncatchable process crash parsing a crafted `.dsf` (residual of GHSA-v6c2-xwv6-8xf7)
- HIGHCVE-2026-107214
Excelize Decrypt: unrecoverable panics on malformed OLE/CFB encrypted workbooks