Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Lifecycle Timeline
2Blast Radius
ecosystem impact- 8 npm packages depend on hono (8 direct, 0 indirect)
Ecosystem-wide dependent count for version 4.12.21.
DescriptionGitHub Advisory
Hono is a Web application framework that provides support for any JavaScript runtime. Prior to 4.12.21, app.mount() strips the mount prefix from the incoming request path using the raw URL pathname, while route matching is performed against the percent-decoded path. This inconsistency causes the prefix to be stripped at the wrong position when the path contains percent-encoded multi-byte characters, resulting in the mounted sub-application receiving an incorrect path. This vulnerability is fixed in 4.12.21.
AnalysisAI
Path prefix stripping in Hono's app.mount() API exposes mounted sub-applications to incorrect routing due to a raw-vs-decoded URL path inconsistency, potentially allowing unauthenticated remote attackers to reach unintended endpoints and disclose protected information. All Hono versions prior to 4.12.21 are affected across every supported JavaScript runtime. No public exploit or CISA KEV listing exists at time of analysis; however, the CVSS vector AV:N/AC:L/PR:N/UI:N and the 'Information Disclosure / Request Smuggling' classification make this a meaningful priority for any deployment that relies on mount-prefix path logic for access segregation.
Technical ContextAI
Hono is a lightweight, multi-runtime web framework for JavaScript (Cloudflare Workers, Deno, Bun, Node.js, and others). The vulnerability is rooted in CWE-444 - Inconsistent Interpretation of HTTP Requests - a class of flaw where different layers of the same stack parse the same input differently, enabling attackers to exploit the gap. Specifically, app.mount() strips the mount prefix from an incoming request path using the raw (percent-encoded) URL pathname, but the subsequent route matching step operates against the percent-decoded version of that path. When a URL contains percent-encoded multi-byte characters (e.g., multi-byte UTF-8 sequences represented as %XX%XX), the byte-length difference between the encoded and decoded forms causes the prefix to be stripped at the wrong character boundary. The sub-application consequently receives a malformed or shifted path that does not correspond to any route the developer intended to expose, potentially bypassing path-prefix-based access controls. The affected CPE is cpe:2.3:a:honojs:hono:*:*:*:*:*:*:*:*, covering all Hono versions prior to 4.12.21.
RemediationAI
Upgrade Hono to version 4.12.21 or later, which resolves the inconsistency between raw-pathname prefix stripping and percent-decoded route matching in app.mount(). This is a vendor-released patch confirmed at version 4.12.21 per the GitHub Security Advisory GHSA-2gcr-mfcq-wcc3 at https://github.com/honojs/hono/security/advisories/GHSA-2gcr-mfcq-wcc3. If immediate upgrade is blocked, a compensating control is to enforce URL path canonicalization at the reverse proxy or WAF layer - specifically, percent-decode and then re-encode all incoming paths to a canonical form before they reach the Hono process, which eliminates the raw/decoded discrepancy. Note that this may break applications intentionally handling raw percent-encoded paths. A second mitigation is to remove reliance on app.mount() path prefixes as a security boundary entirely: add explicit authentication or authorization middleware inside each mounted sub-application so that even if a path is misrouted, the sub-app independently enforces access control. This approach is the more architecturally sound long-term posture regardless of patch status.
Hono, a web framework, prior to version 4.6.5 is vulnerable to bypass of cross-site request forgery (CSRF) middleware by
Hono is a Web application framework that provides support for any JavaScript runtime. Rated medium severity (CVSS 5.3),
Hono is a Web application framework that provides support for any JavaScript runtime. Rated medium severity (CVSS 5.0),
Hono is a web framework written in TypeScript. Rated medium severity (CVSS 4.3), this vulnerability is remotely exploita
Hono is a Web application framework that provides support for any JavaScript runtime. [CVSS 8.2 HIGH]
Hono versions before 4.11.4 allow JWT algorithm confusion attacks through improper algorithm validation in the JWK/JWKS
Hono before version 4.11.4 contains a JWT algorithm confusion vulnerability in its JWK/JWKS verification middleware that
Hono versions prior to 4.12.4 suffer from an authentication bypass in serveStatic when combined with route-based middlew
In Eclipse Hono version 1.3.0 and 1.4.0 the AMQP protocol adapter does not verify the size of AMQP messages received fro
Header injection in Hono's CORS middleware exposes applications to cache key pollution across versions before 4.10.3. Wh
Missing cookie name validation on the write path in Hono's setCookie(), serialize(), and serializeSigned() functions all
Server-side rendering in Hono's JSX module (versions 4.11.8 through before 4.12.27) fails to isolate context values per
Same weakness CWE-444 – HTTP Request/Response Smuggling
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-32924
GHSA-2gcr-mfcq-wcc3