CVE-2026-118663
Medium · 5.3CVSS
5.3
EPSS
0.4%
Published
Oct 28, 2026
CISA due date
—
Cloudanix analysis
A bug in a web framework library lets attackers slip past security checks and read files they are not supposed to see.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Double URL decoding in serveStatic causes route middleware to see an encoded path while file resolution uses a decoded path, allowing bypass of middleware on protected static prefixes and unauthorized read access to files inside the static root without directory traversal.
Why it matters to the business
Attackers can read sensitive static files that should be protected by middleware, potentially exposing configuration, data, or other internal content with minimal effort.
How an attack unfolds
An unauthenticated attacker sends a request containing a malformed percent-encoded sequence targeting a static file path protected by middleware; the double-decoding discrepancy lets the request reach the static file handler while bypassing the middleware checks.
How to fix it
Upgrade @hono/node-server to version 2.1.3 or later; review and test all serveStatic middleware configurations after upgrade.
How to confirm the fix worked
Confirm the installed package version is 2.1.3 or newer; attempt previously successful bypass requests to verify middleware enforcement; scan dependency manifests for older vulnerable versions.
Typical attack path
- Identify static routes protected by authentication or authorization middleware
- Craft a request URL containing a malformed percent-encoded sequence for the desired file path
- Send the request to the server
- Receive the file contents that middleware should have blocked
How to detect it
Review web server access logs for requests containing repeated or malformed percent-encoding sequences targeting static file paths; correlate with middleware-protected routes.
What your security team should do
- Upgrade to version 2.1.3 immediately due to the recent disclosure
- Audit all applications using serveStatic for middleware-protected static paths
- Add web application firewall rules to block suspicious percent-encoded sequences in static paths
- Monitor logs for unusual encoding patterns in static file requests
The record
@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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-118655 Echo is a Go web framework. CWE-174
- CVE-2026-111757 Hono is a Web application framework that provides support for any JavaScript runtime. CWE-174
- CVE-2026-93903 LiteSpeed Web Server (LSWS) before 6.3.7 build 1 mishandles internal redirect URL… CWE-174
- CVE-2026-75899 fast-uri is a URI parser for Node.js. CWE-174