{"id":"CVE-2026-118663","summary":"@hono/node-server: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static paths","details":"@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.","aliases":["GHSA-rmxm-3fg6-px4f"],"modified":"2026-10-29T10:46:09.157459581Z","published":"2026-10-28T20:35:22.948Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-174"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/118xxx/CVE-2026-118663.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/118xxx/CVE-2026-118663.json"},{"type":"FIX","url":"https://github.com/honojs/node-server/commit/982179278529d5673812116b042829f27794966f"},{"type":"WEB","url":"https://github.com/honojs/node-server/releases/tag/v2.1.3"},{"type":"ADVISORY","url":"https://github.com/honojs/node-server/security/advisories/GHSA-rmxm-3fg6-px4f"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118663"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/honojs/node-server","events":[{"introduced":"2f8ca3665f5257305603783ec9999bd1a9bec0f2"},{"fixed":"720ac7843fbc7c1bdae1beaa47e2ab5db7f99a9b"},{"fixed":"982179278529d5673812116b042829f27794966f"}],"database_specific":{"extracted_events":[{"strategy":"StringRangeExpression","range":[{"introduced":"1.19.10"},{"fixed":"2.1.3"}],"source":"AFFECTED_FIELD"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"982179278529d5673812116b042829f27794966f"}]},{"original_tag":"v2.1.3","range":[{"fixed":"720ac7843fbc7c1bdae1beaa47e2ab5db7f99a9b"}],"source":"REFERENCES_TAG"}]}}],"versions":["v2.1.2","v2.1.1","v2.1.0","v2.0.12","v1.19.14","v2.0.11","v2.0.10","v2.0.9","v2.0.8","v2.0.7","v2.0.6","v2.0.5","v2.0.4","v2.0.3","v2.0.2","v2.0.1","v2.0.0","v1.19.13","v1.19.12","v2.0.0-rc.1","v1.19.11","v1.19.10"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-118663.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"}]}