CVE-2026-71848: Hono: Algorithmic Complexity DoS in Language Middleware

Published Aug 7, 2026
·
Updated

Summary

The languageDetector middleware is vulnerable to algorithmic complexity denial of service when processing a crafted language tag containing a large number of hyphen-separated subtags.

Details

To implement progressive language-tag truncation, normalizeLanguage() repeatedly calls parts.slice(0, i).join('-') for every possible prefix. The total amount of string processing grows quadratically with the number of subtags.

Language values may come from a query parameter, cookie, Accept-Language header, or URL path, depending on the detector configuration. The default detector order enables query-string, cookie, and header detection, so applications using languageDetector() may expose this processing to unauthenticated requests.

Request-size limits reduce the maximum cost of a single request but do not eliminate the issue. Inputs accepted by common JavaScript runtimes can still cause noticeable synchronous event-loop blocking.

Impact

An attacker may repeatedly send requests containing long, hyphen-separated language tags, causing excessive CPU consumption and preventing unrelated requests from being processed.

The practical impact depends on the runtime's request-size limits, reverse-proxy configuration, and the detectors enabled by the application.

Resolution

The progressive lookup should avoid reconstructing every shorter prefix. The implementation can instead inspect the configured supported languages and select the longest value that matches the input at a hyphen boundary.

Other sources

Hono is a Web application framework that provides support for any JavaScript runtime. From 4.12.0 to 4.12.33, the languageDetector middleware is vulnerable to algorithmic complexity denial of service when processing a crafted language tag containing a large number of hyphen separated subtags. To implement progressive language tag truncation, normalizeLanguage() repeatedly calls parts.slice(0, i).join('-') for every possible prefix, so the total amount of string processing grows quadratically with the number of subtags. Language values may come from a query parameter, cookie, Accept-Language header, or URL path, depending on the detector configuration, and the default detector order enables query string, cookie, and header detection, so applications using languageDetector() may expose this processing to unauthenticated requests. An attacker may repeatedly send requests containing long, hyphen separated language tags, causing excessive CPU consumption and preventing unrelated requests from being processed. This issue is fixed in version 4.12.34.

— MITRE

Affected Software

2 affected componentsFixes available
npm/hono>=4.12.0<4.12.34
4.12.34
IBM Concert Software<=1.0-3.0.1.1

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.12.34
  2. Upgrade

    Upgrade hono to a version that resolves this vulnerability.

    Fixed in 4.12.34
  3. Compensating control

    Ensure untrusted clients cannot repeatedly trigger languageDetector() with crafted long, hyphen-separated language tags by restricting/ratelimiting requests that include the language inputs (query parameters, cookies, Accept-Language header, or URL path) at the edge (e.g., WAF/reverse-proxy rate limiting) until the fix is applied.

Event History

Aug 7, 2026
CVE Published
via MITRE·06:36 PM
Data Sourced
via MITRE·06:36 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·06:36 PM
Data Sourced
via GitHub·06:36 PM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via NVD·07:18 PM
DescriptionSeverityWeakness
Oct 29, 2026
Data Sourced
via IBM·12:00 AM
DescriptionAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2026-71848?

The severity of CVE-2026-71848 is rated as medium with a score of 5.3.

2

What is CVE-2026-71848 about?

CVE-2026-71848 describes a vulnerability in the `languageDetector` middleware that can lead to algorithmic complexity denial of service through crafted language tags.

3

How can I fix CVE-2026-71848?

To fix CVE-2026-71848, update to the latest version of the npm/hono package.

4

What types of attacks does CVE-2026-71848 expose systems to?

CVE-2026-71848 exposes systems to denial of service attacks due to unhandled language tags.

5

Who is affected by CVE-2026-71848?

Users of the npm/hono middleware that utilize the `languageDetector` feature may be affected by CVE-2026-71848.

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