Bug 2553103 (CVE-2026-109855)

Summary: CVE-2026-109855 undici: undici: Denial of Service via failed HTTP/2 WebSocket handshake
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerability-draftAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aazores, abarbaro, akhatavk, alizardo, aos-team-art-private, asdas, ataylor, cdrage, cmah, csuconic, dbruscin, dpaolell, dschmidt, eaguilar, ebaron, eborisov, gbenhaim, gtanzill, gtully, ikhan, jbuscemi, jchui, jdelft, jhe, jlanda, jmatsuok, jsherman, jtolenti, jupierce, kshier, ktsao, kvanderr, lball, lchilton, lgarciaa, mbiarnes, mstipich, nboldt, ngough, niyer, oaljalju, pjindal, ppalepu, ppostler, prdhamdh, psrna, rbobbitt, rexwhite, rgemmell, rgodfrey, rhel-process-autobot, rushinde, sdawley, sfeifer, sghai, sidsharm, simaishi, stcannon, sthirugn, suppawar, tbish, tlavocat, 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. A malicious remote server can cause a Denial of Service (DoS) by returning an invalid handshake response when a client attempts to establish a WebSocket connection over HTTP/2. The client mishandles the failed connection setup and leaves the underlying network stream open without an error handler. When the remote server subsequently terminates the connection, an unhandled error is raised, causing the application process to crash.
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:

Description OSIDB Bzimport 2026-10-15 08:34:33 UTC
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.