Medium severity · published Oct 28, 2026
CVE-2026-118663
@hono/node-server: `serveStatic` decodes the request path a second time, leading to bypass of middleware on static paths
New
5.3
CVSS
–
EPSS
No
On KEV
Description
@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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
Low
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
NO
node-server · honojs
> = 1.19.10, < 2.1.3 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-118663
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-118663
x_refsource_CONFIRM
https://github.com/honojs/node-server/security/advisories/GHSA-rmxm-3fg6-px4f
x_refsource_MISC
https://github.com/honojs/node-server/commit/982179278529d5673812116b042829f27794966f
x_refsource_MISC
https://github.com/honojs/node-server/releases/tag/v2.1.3
More from node-server
7.5
CVE-2026-29087
@hono/node-server: Authorization bypass for protected static paths via encoded slashes in Serve Static Middleware
7.5
CVE-2024-32652
@hono/node-server contains Denial of Service risk when receiving Host header that cannot be parsed
5.3
CVE-2026-73565
@hono/node-server: Unauthenticated memory-leak DoS via aborted WebSocket handshake
5.3
CVE-2026-39406
@hono/node-server has a middleware bypass via repeated slashes in serveStatic
