undici vulnerable to Denial of Service via unrequested WebSocket subprotocol
Package
Affected versions
>= 6.7.0, < 6.28.1
>= 7.0.0, < 7.29.1
>= 8.0.0, < 8.10.2
Patched versions
6.28.1
7.29.1
8.10.2
Description
Published by the National Vulnerability Database
Sep 4, 2026
Published to the GitHub Advisory Database
Sep 29, 2026
Reviewed
Sep 29, 2026
Last updated
Sep 29, 2026
Impact
The undici WebSocket client throws an uncaught
TypeErrorduring the opening handshake when a server's101response includes aSec-WebSocket-Protocolheader that the client never requested. The throw occurs in aqueueMicrotaskcallback with no surroundingtry/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 plaintextws://connection subject to a machine-in-the-middle. It affects the defaultnew 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