Vulnerability GHSA-qv5m-9pm6-hqp3

Medium Risk
MEDIUM RISK
CVSS Score: 5.3
Score Range: 4.0–6.9
Medium severity vulnerabilities (CVSS 4.0–6.9). Important issues that meaningfully reduce security confidence.
18 hours ago
November 12, 2026 at 09:32 PM UTC
@hono/node-server: Unhandled `ECONNRESET` on the socket during an asynchronous WebSocket upgrade crashes the process
2.0.0 - 2.1.5
2.0.0 - 2.1.5

Summary

@hono/node-server: Unhandled `ECONNRESET` on the socket during an asynchronous WebSocket upgrade crashes the process

Details

Summary

While @hono/node-server waits for the Hono application to handle a WebSocket upgrade request, the socket has no error listener. If the client resets the TCP connection during that time, the resulting ECONNRESET is emitted as an unhandled 'error' event and the process terminates.

Details

The upgrade handler awaits the application before attaching any listener to the socket. When middleware on the upgrade path does asynchronous work, such as an authentication lookup, a connection reset in that window has no handler. If a global uncaughtException handler swallows the error, the pending upgrade is never released and its entry is retained for the lifetime of the process.

The fix attaches error and close listeners to the socket before calling the application, releases the pending upgrade when the socket closes, and skips the handshake on a destroyed socket.

Impact

An unauthenticated client can terminate the server process with a single connection by sending a WebSocket upgrade request and resetting the connection before the application has responded. Where the crash is suppressed, repeated requests grow the heap.

This affects applications that enable WebSocket support in @hono/node-server and run asynchronous middleware or handlers on the upgrade path.

Impacted packages

Timeline

Published
18 hours ago
November 12, 2026 at 09:32 PM UTC
Fixed (2.1.6)
11 days ago
November 02, 2026 at 10:22 AM UTC
Last Modified
18 hours ago
November 12, 2026 at 09:45 PM UTC