CVE-2026-84364: Hono: Unbounded dot-notation nesting in `parseBody()` can cause memory exhaustion

Published Sep 1, 2026
·
Updated

Summary

When parseBody() expands dot-separated form field names into nested objects, it does not limit the nesting depth or the total number of objects created. A request body well within a normal size limit can therefore allocate an object graph far larger than the request itself, and concurrent requests can exhaust the heap and terminate the process.

Details

Each dot-separated segment of a field name creates an intermediate object. Neither the segments within a single field name nor the total across a request was bounded, and empty segments were preserved, so a field name could encode one nesting level per byte.

Both shapes produce the effect: a single deeply dotted field name, and a large number of shallowly dotted ones within one body. A request body size limit does not prevent it, because the amplification happens after the body has been accepted.

Dot-notation parsing is not enabled by default.

Impact

An attacker who can reach an endpoint that parses request bodies with dot-notation enabled can send concurrent requests whose memory cost is disproportionate to their size.

This may lead to:

- exhaustion of the JavaScript heap and termination of the server process - the service remaining unavailable until it is restarted

This issue affects applications that explicitly enable dot-notation parsing. Applications using the default behaviour are not affected.

Other sources

Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.13.5, when parseBody() expands dot-separated form field names into nested objects with dot-notation parsing enabled, it does not limit the nesting depth or the total number of intermediate objects created. Empty segments are preserved, so one deeply dotted field name can encode one nesting level per byte, while a large number of shallowly dotted fields can create the same amplification across a request. A request body within a normal size limit can therefore allocate an object graph far larger than the request after the body has already been accepted. An unauthenticated attacker who can reach an affected endpoint can send concurrent requests that exhaust the JavaScript heap, terminate the server process, and leave the service unavailable until restart. Dot-notation parsing is not enabled by default, and applications using the default behavior are not affected. This issue is fixed in version 4.13.5.

NVD

Affected Software

2 affected componentsFixes available
Hono Hono<4.13.5
npm/hono<4.13.5
4.13.5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/hono to a version that resolves this vulnerability.

    Fixed in 4.13.5
  2. Upgrade

    Upgrade Hono to a version that resolves this vulnerability.

    Fixed in 4.13.5
  3. Configuration

    Ensure dot-notation parsing is not enabled, since dot-notation parsing is not enabled by default; applications that explicitly enable it are affected by unbounded nesting in parseBody().

    Hono parseBody() dot-notation parsing (enabled/disabled) = disabled

Event History

Sep 1, 2026
CVE Published
via MITRE·08:24 PM
Data Sourced
via MITRE·08:24 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:18 PM
DescriptionSeverityWeakness
Sep 8, 2026
Advisory Published
via GitHub·09:23 PM
Data Sourced
via GitHub·09:23 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Applications using Hono versions before 4.13.5 are exposed only if they enable dot-notation parsing when calling parseBody(). Applications using the default behavior are not affected.

2

What does an attacker need to exploit it?

An attacker needs network access to an affected endpoint that processes request bodies with dot-notation parsing enabled. No authentication or user interaction is required.

3

What is the practical impact of exploitation?

An attacker can submit concurrent requests containing deeply dotted field names or many shallow dotted fields, causing excessive object allocation. This can exhaust the JavaScript heap, terminate the server process, and make the service unavailable until it is restarted.

4

What should be done if immediate patching is not possible?

Disable dot-notation parsing for parseBody() where possible, since the default behavior is not affected. Restrict access to affected endpoints until the application can be updated.

5

How can I determine whether an application is affected?

Check whether the application uses a Hono version earlier than 4.13.5 and enables dot-notation parsing for parseBody(). If dot-notation parsing is not enabled, the application is not affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203