Bug 2528712 (CVE-2026-85014)

Summary: CVE-2026-85014 undici: undici: Denial of Service via WebSocketStream unclean close
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: abarbaro, akhatavk, alizardo, aos-team-art-private, asdas, ataylor, cdrage, dbruscin, dpaolell, dschmidt, eborisov, ehugonne, gbenhaim, gtanzill, jbuscemi, jchui, jdelft, jhe, jlanda, jupierce, kshier, ktsao, kvanderr, lball, lchilton, lgarciaa, mbiarnes, mstipich, nboldt, ngough, niyer, oaljalju, ppalepu, ppostler, prdhamdh, psrna, rexwhite, rhel-process-autobot, rushinde, sdawley, sfeifer, sghai, sidsharm, simaishi, stcannon, sthirugn, suppawar, teagle, twaugh, veshanka, vlaad, watson-tool-maintainers, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in undici's experimental WebSocketStream client. A remote attacker, operating as an untrusted server, can trigger a Denial of Service (DoS) by closing the TCP connection without a proper WebSocket close handshake. This action causes an unhandled error in the client, leading to the termination of the entire Node.js process.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2530899, 2530900, 2530901, 2530898    
Bug Blocks:    

Description OSIDB Bzimport 2026-09-04 16:42:06 UTC
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.