---
id: CVE-2026-85014
title: >-
  undici's experimental WebSocketStream client crashes the whole Node.js process
  when a remote peer closes the TCP connection without a WebSocket close
  handshake
summary: >-
  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 wri…
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-248
  - CWE-754
  - CWE-390
vendor: nodejs
product: undici
affected:
  - 'undici >= 7.0.0, < 7.29.1'
  - 'undici >= 8.0.0, < 8.10.2'
patched:
  - undici 8.10.2
published: '2026-09-04'
updated: '2026-09-15'
sourceUpdated: '2026-09-15T14:09:06.380'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85014'
references:
  - url: 'https://cna.openjsf.org/security-advisories.html'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: 'https://github.com/nodejs/undici/security/advisories/GHSA-rx4f-c7p8-82vq'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-85014.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-85014'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2528712'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-85014'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85014'
  - url: 'https://access.redhat.com/errata/RHSA-2026:66008'
  - url: 'https://access.redhat.com/errata/RHSA-2026:54438'
  - url: 'https://access.redhat.com/errata/RHSA-2026:54389'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
epss: 0.00368
epssPercentile: 0.30502
ingestedAt: '2026-09-08T19:08:49.593Z'
---

## Overview

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.

## Affected

- `undici >= 7.0.0, < 7.29.1`
- `undici >= 8.0.0, < 8.10.2`

## Remediation

Upgrade past the affected range:

- `undici 8.10.2`

## Vendor advisories

- **RHSA-2026:66008** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-09-09 · [advisory](https://access.redhat.com/errata/RHSA-2026:66008)
- **RHSA-2026:54438** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-08-12 · [advisory](https://access.redhat.com/errata/RHSA-2026:54438)
- **RHSA-2026:54389** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-08-12 · [advisory](https://access.redhat.com/errata/RHSA-2026:54389)
- **Red Hat VEX** · Moderate · affected: Exploit Intelligence, OpenShift Pipelines, Red Hat AMQ Broker 7, Red Hat Ansible Automation Platform 2, Red Hat Build of Podman Desktop, Red Hat Developer Hub, … · no fix planned: Exploit Intelligence, Red Hat Trusted Artifact Signer, Secrets Management Console for Red Hat OpenShift, Red Hat Hardened Images, … · updated 2026-09-15 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-85014.json)
