← Back to CVE Explorer

CVE-2026-73565

Full vulnerability record from the local CVENow database.

Description

@hono/node-server allows running the Hono application on Node.js. From 2.0.0 until 2.0.10, a WebSocket upgrade request to an upgradeWebSocket route with a missing or malformed Sec-WebSocket-Key header causes src/websocket.ts to retain the request's IncomingMessage in waiterMap and leave waitForWebSocket pending because ws.handleUpgrade emits no connection event. The aborted handshake therefore has no cleanup path, allowing an unauthenticated attacker to flood a public route, cause unbounded memory growth, and eventually make the service unavailable. This issue is fixed in version 2.0.10.

Severity
MEDIUM
CVSS score
5.3 (v3.1)
Vulnerability status
Awaiting Analysis
Source identifier
Published
2026-08-13 18:18:19.103000
Last modified
2026-10-24 15:10:00.190000
View original CVE JSON
{
  "id": "CVE-2026-73565",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-13T18:18:19.103",
  "lastModified": "2026-10-24T15:10:00.190",
  "vulnStatus": "Awaiting Analysis",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "@hono/node-server allows running the Hono application on Node.js. From 2.0.0 until 2.0.10, a WebSocket upgrade request to an upgradeWebSocket route with a missing or malformed Sec-WebSocket-Key header causes src/websocket.ts to retain the request's IncomingMessage in waiterMap and leave waitForWebSocket pending because ws.handleUpgrade emits no connection event. The aborted handshake therefore has no cleanup path, allowing an unauthenticated attacker to flood a public route, cause unbounded memory growth, and eventually make the service unavailable. This issue is fixed in version 2.0.10."
    },
    {
      "lang": "es",
      "value": "@hono/node-server permite ejecutar la aplicación Hono en Node.js. Desde la 2.0.0 hasta la 2.0.10, una solicitud de actualización de WebSocket a una ruta upgradeWebSocket con un encabezado Sec-WebSocket-Key faltante o malformado hace que src/websocket.ts retenga el IncomingMessage de la solicitud en waiterMap y deje waitForWebSocket pendiente porque ws.handleUpgrade no emite ningún evento de conexión. El handshake abortado, por lo tanto, no tiene una ruta de limpieza, lo que permite a un atacante no autenticado inundar una ruta pública, causar un crecimiento de memoria ilimitado y, finalmente, dejar el servicio no disponible. Este problema está solucionado en la versión 2.0.10."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "honojs",
          "product": "node-server",
          "versions": [
            {
              "version": ">= 2.0.0, < 2.0.10",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
          "baseScore": 5.3,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-14T16:45:01.113756Z",
          "id": "CVE-2026-73565",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-401"
        },
        {
          "lang": "en",
          "value": "CWE-770"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/honojs/node-server/commit/3a21938c418340e980cb7ffa88e78369f78392d1",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/honojs/node-server/releases/tag/v2.0.10",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/honojs/node-server/security/advisories/GHSA-9mqv-5hh9-4cgg",
      "source": "[email protected]"
    }
  ]
}