Double decoding in @hono/node-server serveStatic bypasses middleware
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
@hono/node-server from 1.19.10 before 2.1.3 is affected. serveStatic decodes the request path a second time after Hono has already decoded it for routing, which is a double decoding flaw (CWE-174). An unauthenticated remote attacker can bypass middleware mounted on a protected static prefix and read a file inside the configured static root. Traversal outside that root is not possible.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
@hono/node-server allows running the Hono application on Node.js. From 1.19.10 until 2.1.3, serveStatic decodes a request path a second time after Hono has already decoded it for routing, so a malformed percent-encoded sequence can make route middleware evaluate an encoded path while static file resolution uses a different directory. An unauthenticated attacker can bypass middleware mounted on a protected static prefix and read a file inside the configured static root, although the flaw does not permit traversal outside that root. This issue is fixed in version 2.1.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| honojs | node-server | > = 1.19.10, < 2.1.3 | — | No fix listed | CNA |
| — | @hono/node-server (npm) | 1.19.10 to before 2.1.3 | 2.1.3 | Patch available | GHSA-rmxm-3fg6-px4f |
- node-server Vendorhonojs Affected > = 1.19.10, < 2.1.3 Fixed in — No fix listed CNA
- @hono/node-server (npm) Vendor— Affected 1.19.10 to before 2.1.3 Fixed in 2.1.3 Patch available GHSA-rmxm-3fg6-px4f
Remediation
Upgrade @hono/node-server to version 2.1.3, which fixes the flaw.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · GHSA-rmxm-3fg6-px4f @hono/node-server (npm) Fixed in 2.1.3 Advisory →
Vendor assessments
Timeline
- 2026-10-28 Threatist record created from CVE-2026-118663
- 2026-10-28 Alias added: GHSA-rmxm-3fg6-px4f
- 2026-10-28 Fix available: npm/@hono/[email protected] · GHSA-rmxm-3fg6-px4f
- 2026-10-28 CVSS score added · GHSA-rmxm-3fg6-px4f
- 2026-10-28 Weakness changed · GHSA-rmxm-3fg6-px4f
- 2026-10-28 4 new references · GHSA-rmxm-3fg6-px4f
- 2026-10-29 CISA SSVC decision points changed
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
More honojs vulnerabilities
- TI-2024-21741 Hono vulnerable to Restricted Directory Traversal in serveStatic with deno CVSS 3.1MEDIUM 5.3
- TI-2024-15441 @hono/node-server can't handle "double dots" in URL CVSS 3.1MEDIUM 5.3
- TI-2024-32610 Hono vulnerable to bypass of CSRF Middleware by a request without Content-Type header. CVSS 3.1MEDIUM 5.9
- TI-2024-29381 Hono CSRF middleware can be bypassed using crafted Content-Type header CVSS 3.1MEDIUM 5.0
- TI-2026-39189 Hono: Lambda@Edge adapter keeps only the last value of a repeated request header, dropping the rest CVSS 3.1MEDIUM 4.8
- TI-2026-23190 Hono: Arbitrary file access via serveStatic vulnerability CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-118663 · CVE Program
- CVE-2026-118663 · NVD
- FIRST EPSS
- GHSA-rmxm-3fg6-px4f · GitHub Advisory Database · CC BY 4.0
- CVE-2026-118663 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences