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.
References5
- github.com/honojs/hono/commit/8b05c774ef1555c70f5ba5e2991b7e77c…
- github.com/honojs/hono/security/advisories/GHSA-5r4p-p66f-jhc7
- github.com/honojs/hono/security/advisories/GHSA-5r4p-p66f-jhc7
- github.com/honojs/hono/security/advisories/GHSA-5r4p-p66f-jhc7
- github.com/honojs/hono/security/advisories/GHSA-5r4p-p66f-jhc7
Metrics
- CVSS 3.1
-
5.3
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - EPSS — exploit probability
- 0% percentile: 24 · as of 10 November 2026
- CWE
- CWE-174
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.