The experimental WebSocket client in this Node.js HTTP client library mishandles failed WebSocket handshakes over HTTP/2. Because the request is marked as completed, the abort operation is ignored, leaving the underlying HTTP/2 stream open without an error listener. A remote, unauthenticated server can trigger a denial of service by destroying the connection, causing the orphaned stream to emit an unhandled error that crashes the Node.js process.