Description
Hono is a Web application framework that provides support for any JavaScript runtime. From 4.12.4 until 4.13.11, serveStatic can interpret a malformed percent-encoded path differently from upstream routing middleware and bypass protection for a static prefix. The root cause is serveStatic decodes a routed request path a second time before filesystem lookup. The attack mechanism is malformed percent encoding survives the first routing interpretation and becomes a protected path only during the later static-file decode. The affected component is serveStatic. The trigger conditions are an application protects a static prefix with upstream middleware and serveStatic receives an attacker-controlled malformed percent-encoded path. The impact is unauthorized disclosure of a static file that upstream middleware was intended to protect. The issue does not permit traversal outside the configured static root. This issue is fixed in version 4.13.11.
Published: 2026-10-19
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Disclosure of Static Files
Action: Patch
AI Analysis

Impact

The vulnerability arises when Hono’s serveStatic middleware performs a second decoding of a percent‑encoded request path before accessing the filesystem. An attacker can send a specially crafted URL, which bypasses any upstream middleware guarding a static prefix and reveals a file that should have been protected. Only files under the configured static root can be accessed, and traversal outside that root is not possible.

Affected Systems

All installations of the Hono web application framework from version 4.12.4 up to and including 4.13.10 are affected. Clients using the serveStatic module in these releases are exposed unless they upgrade to 4.13.11 or later.

Risk and Exploitability

The CVSS score of 5.3 indicates a moderate severity. No EPSS data is reported, and the vulnerability is not listed in CISA’s KEV catalog, suggesting it has not been widely exploited yet. An attacker would need to send an HTTP request with a double‑encoded path that survives the first routing stage; once the request reaches serveStatic, the second decoding exposes the protected file. The likely attack vector, based on the description, is remote via a normal web request, and the condition is an application that applies middleware to protect a static prefix before calling serveStatic.

Generated by OpenCVE AI on October 20, 2026 at 07:16 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Hono framework to version 4.13.11 or newer where the double‑decode issue is fixed.
  • If an immediate upgrade is not viable, configure the application to validate request paths before passing them to serveStatic, rejecting any double‑encoded percent sequences.
  • Add or strengthen upstream middleware to enforce strict path validation and ensure that only correctly encoded paths are allowed to reach serveStatic.

Generated by OpenCVE AI on October 20, 2026 at 07:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5r4p-p66f-jhc7 Hono: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static paths
History

Tue, 20 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 20 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-551
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 19 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Hono
Hono hono
Vendors & Products Hono
Hono hono

Mon, 19 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
Description Hono is a Web application framework that provides support for any JavaScript runtime. From 4.12.4 until 4.13.11, serveStatic can interpret a malformed percent-encoded path differently from upstream routing middleware and bypass protection for a static prefix. The root cause is serveStatic decodes a routed request path a second time before filesystem lookup. The attack mechanism is malformed percent encoding survives the first routing interpretation and becomes a protected path only during the later static-file decode. The affected component is serveStatic. The trigger conditions are an application protects a static prefix with upstream middleware and serveStatic receives an attacker-controlled malformed percent-encoded path. The impact is unauthorized disclosure of a static file that upstream middleware was intended to protect. The issue does not permit traversal outside the configured static root. This issue is fixed in version 4.13.11.
Title Hono: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static paths
Weaknesses CWE-174
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T16:10:30.638Z

Reserved: 2026-10-16T17:52:09.081Z

Link: CVE-2026-111757

cve-icon Vulnrichment

Updated: 2026-10-20T15:18:54.175Z

cve-icon NVD

Status : Deferred

Published: 2026-10-19T18:17:00.407

Modified: 2026-10-20T17:17:29.443

Link: CVE-2026-111757

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-19T17:31:20Z

Links: CVE-2026-111757 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T07:30:11Z

Weaknesses
  • CWE-174

    Double Decoding of the Same Data

  • CWE-551

    Incorrect Behavior Order: Authorization Before Parsing and Canonicalization