CVE-2026-109855 PUBLISHED

undici WebSocket client vulnerable to Denial of Service via failed HTTP/2 handshake

Assigner: openjs
Reserved: 13.10.2026 Published: 15.10.2026 Updated: 15.10.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS Score: 7.5

Product Status

Vendor undici
Product undici
Versions Default: unaffected
  • affected from 8.11.0 to 8.11.2 (excl.)
  • Version 8.11.2 is unaffected

Credits

  • kjsik11 reporter
  • mcollina remediation developer
  • jasnell remediation reviewer
  • metcoder95 remediation reviewer
  • UlisesGascon remediation verifier
  • ronag remediation reviewer

References

Problem Types

  • CWE-248: Uncaught Exception CWE
  • CWE-754: Improper Check for Unusual or Exceptional Conditions CWE