All vulnerabilities
CVE-2026-85024GHSA-3wwx-pv8p-q78v

undici vulnerable to Denial of Service via unhandled error in WebSocket permessage-deflate decompression

undici undicinpmLibraries & packages
CVSS
5.9Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.41%Chance of exploitation activity in the next 30 days, higher than 34% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in6.28.1Also 7.29.1, 8.10.2GitHub
Published4 Sep 2026Updated 28 Sep 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

undici's WebSocket client (including Node.js's bundled globalThis.WebSocket) crashes the entire Node.js process when a remote WebSocket peer sends a permessage-deflate compressed message that crosses the decompressed-payload size limit and then contains a malformed DEFLATE block. In lib/web/websocket/permessage-deflate.js, the size-limit cleanup calls removeAllListeners() on the internal zlib InflateRaw, removing its error listener, but leaves the stream running. The inflater then emits a Z_DATA_ERROR with no listener attached, which Node.js treats as a fatal unhandled error event and terminates the process. Application error/close handlers on the public WebSocket cannot observe or prevent this, because the failing object is the internal InflateRaw.

A malicious or compromised WebSocket server can crash a client with a single connection, unauthenticated and without any application mistake. The attack is asymmetric (about 130 KB on the wire expands past the limit) and can be repeated on reconnect (crash loop).

Affected applications are those using the undici WebSocket client (new WebSocket(...)) or Node.js's bundled globalThis.WebSocket that can be induced to connect to an attacker-controlled or compromised WebSocket endpoint.

Patches

Upgrade to undici v6.28.1, v7.29.1 or v8.10.2.

Workarounds

No workaround is available.

Text from GitHub Advisory Database

Affected versions 12

  • undici, npm>= 6.25.0, < 6.28.1GitHub
  • undici, npm>= 7.28.0, < 7.29.1GitHub
  • undici, npm>= 8.1.0, < 8.10.2GitHub
  • undiciaffected: 6.25.0 before 6.28.1CVE List
  • undiciunaffected: 6.28.1CVE List
  • undiciaffected: 7.28.0 before 7.29.1CVE List
  • undiciunaffected: 7.29.1CVE List
  • undiciaffected: 8.1.0 before 8.10.2CVE List
  • undiciunaffected: 8.10.2CVE List
  • undici, npmfrom 6.25.0, fixed in 6.28.1OSV
  • undici, npmfrom 7.28.0, fixed in 7.29.1OSV
  • undici, npmfrom 8.1.0, fixed in 8.10.2OSV

References 10