CVE-2026-85014
Description
undici's experimental WebSocketStream client crashes the whole Node.js process when a remote peer closes the TCP connection without a WebSocket close handshake. On an unclean close the internal socket-close handler calls abort on the writable stream unconditionally and discards the returned promise, but per the WHATWG Streams standard aborting a locked writable returns a promise that rejects with a TypeError. Because the application holds a writer on that writable, which is the only way to write, the rejection is never observed and Node's default unhandled-rejection behavior terminates the process. An untrusted server can therefore crash a client with a single abrupt disconnect, with no authentication and no application mistake. This affects undici versions from 7.0.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.
How to fix
- nodejs undici7.29.1, 8.10.2 or later
- undici7.29.1, 8.10.2 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| nodejs undici | 7.0.0 ≤ v < 7.29.1, 8.0.0 ≤ v < 8.10.2 | 7.29.1, 8.10.2 |
| undicinpm | 7.0.0 ≤ v < 7.29.1, 8.0.0 ≤ v < 8.10.2 | 7.29.1, 8.10.2 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.