Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-84364

CVE-2026-84364: Hono Web Framework DOS Vulnerability

CVE-2026-84364 is a denial of service vulnerability in Hono Web Framework affecting dot-notation parsing. Attackers can exhaust JavaScript heap memory and crash servers. This article covers technical details, affected versions, impact analysis, and mitigation strategies.

Published:

CVE-2026-84364 Overview

Hono is a lightweight web application framework designed to run across any JavaScript runtime. A resource exhaustion vulnerability affects Hono versions prior to 4.13.5 when applications enable dot-notation parsing in parseBody(). The function expands dot-separated form field names into nested objects without enforcing limits on nesting depth or the total number of intermediate objects created. An unauthenticated attacker can send a modestly sized request body that inflates into a massive in-memory object graph, exhausting the JavaScript heap and terminating the server process. Applications relying on the default parseBody() behavior are not affected.

Critical Impact

Unauthenticated attackers can crash Hono server processes through concurrent requests, leaving services unavailable until manual restart.

Affected Products

  • Hono framework versions prior to 4.13.5
  • Applications using parseBody() with dot-notation parsing explicitly enabled
  • JavaScript runtimes hosting affected Hono deployments (Node.js, Bun, Deno, Cloudflare Workers)

Discovery Timeline

  • 2026-09-01 - CVE-2026-84364 published to NVD
  • 2026-09-02 - Last updated in NVD database

Technical Details for CVE-2026-84364

Vulnerability Analysis

The flaw resides in the parseBody() utility inside src/utils/body.ts. When dot-notation parsing is enabled, Hono converts form field names such as a.b.c.d into nested JavaScript objects. The parser does not cap the recursion depth or the cumulative count of intermediate objects created across the request body.

Empty segments are preserved during expansion. A single deeply dotted field name can therefore encode one nesting level per byte submitted. Alternatively, a large collection of shallowly dotted fields can produce equivalent amplification across a single request. The classification aligns with CWE-400: Uncontrolled Resource Consumption.

A request body that passes normal size validation can allocate an object graph far larger than the raw payload. Concurrent requests compound the memory pressure and terminate the Node.js or runtime process.

Root Cause

The parser lacked bounded input handling for two dimensions: maximum nesting depth per key and total number of intermediate objects generated per request. Body-size limits alone do not prevent amplification because expansion happens after the body has been accepted.

Attack Vector

An unauthenticated remote attacker sends HTTP requests containing crafted form field names with excessive dot-separated segments. The requests target any endpoint that invokes parseBody() with dot-notation parsing enabled. Sustained concurrent requests exhaust the JavaScript heap and crash the process.

typescript
// Security patch in src/utils/body.ts (v4.13.5)
 import type { HonoRequest } from '../request'
 import { bufferToFormData } from './buffer'

+const MAX_NESTING_DEPTH = 32
+const MAX_NESTED_OBJECTS = 10_000
+
 type BodyDataValueDot = { [x: string]: string | File | BodyDataValueDot }
 type BodyDataValueDotAll = {
   [x: string]: string | File | (string | File)[] | BodyDataValueDotAll

Source: Hono commit 531e9c5. The patch introduces hard ceilings of 32 nesting levels and 10,000 total nested objects per parsed body.

Detection Methods for CVE-2026-84364

Indicators of Compromise

  • Repeated Node.js or runtime process crashes accompanied by JavaScript heap out of memory errors
  • HTTP request bodies containing form field names with unusually high counts of dot separators
  • Spikes in memory allocation immediately following requests to endpoints that call parseBody()
  • Concurrent inbound requests from a single source with abnormal Content-Length to processing-time ratios

Detection Strategies

  • Inspect application dependency manifests for Hono versions below 4.13.5 and flag deployments where parseBody({ dot: true }) or equivalent options are set
  • Deploy a web application firewall rule that blocks form field names exceeding a reasonable dot-segment threshold, for example 32 segments
  • Correlate HTTP request logs with process restart events to identify request patterns that precede service termination

Monitoring Recommendations

  • Track V8 heap usage and garbage-collection pause duration on Hono-based services
  • Alert on process exit codes indicating out-of-memory termination in container orchestrators
  • Log the length and structure of form field names on endpoints that consume parsed bodies

How to Mitigate CVE-2026-84364

Immediate Actions Required

  • Upgrade Hono to version 4.13.5 or later across all deployments
  • Audit application code for calls to parseBody() that enable dot-notation parsing
  • Place a reverse proxy or WAF in front of affected endpoints to reject requests with excessive dot-separated field names

Patch Information

The fix ships in Hono v4.13.5. The patch adds MAX_NESTING_DEPTH = 32 and MAX_NESTED_OBJECTS = 10_000 constants to src/utils/body.ts. Refer to the GitHub Security Advisory GHSA-g6gw-c38x-mqfc for full details.

Workarounds

  • Disable dot-notation parsing by using the default parseBody() behavior, which is not affected
  • Enforce a maximum request body size well below runtime memory capacity at the ingress layer
  • Rate-limit unauthenticated requests to endpoints that parse form bodies to reduce amplification impact
bash
# Upgrade Hono to the patched release
npm install hono@4.13.5

# Verify installed version
npm ls hono

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.