CVE-2026-39406@hono/node-server在1.19.13之前的版本中存在路径处理逻辑缺陷,导致授权绕过漏洞。由于serveStatic组件与路由中间件对包含双斜杠(//)的请求路径处理方式不一致,攻击者可构造特殊路径绕过基于路由的授权检查(如/admin/*),直接访问受保护的静态资源。建议用户尽快升级至安全版本以修复此风险。
该漏洞源于Hono的路由匹配机制与`serveStatic`文件服务机制之间的路径规范化差异。在Node.js环境下,开发者常使用基于路由的中间件(例如`app.use('/admin/*', authMiddleware)`)来保护静态资源。然而,在受影响版本中,Hono的路由器对路径格式较为敏感,可能未将包含连续斜杠(如`//`)的路径视为有效匹配;与此同时,底层的`serveStatic`函数在解析文件系统路径时,会对连续斜杠进行规范化处理(即`//`被解析为`/`)。这种不一致性使得攻击者可以构造特殊请求路径,例如`http://target//admin/secret.txt`。该请求能够绕过路由层的授权中间件检查,因为路由器认为路径不匹配,但随后`serveStatic`成功将其解析为合法的文件路径并返回内容,导致安全防护失效,敏感数据泄露。