【高危漏洞】CVE-2026-22037:@fastify/express 路径前缀绕过漏洞分析
漏洞概述
@fastify/express 是一个为 Fastify 框架提供完整 Express 兼容性的插件。在版本 4.0.3 之前,该插件存在一个安全漏洞:当使用特定路径前缀注册中间件时,攻击者可通过 URL 编码(如 /%61dmin 代替 /admin)绕过中间件的执行。由于 @fastify/express 在匹配中间件路径时未对编码路径进行正确处理,导致中间件被跳过,而底层 Fastify 路由器仍能正确解码并匹配路由处理器,从而允许未授权访问受保护的端点。
漏洞详情
- CVE 编号:CVE-2026-22037
- 漏洞类型:路径遍历 / 中间件绕过(CWE-177: Improper Handling of URL Encoding;CWE-288: Authentication Bypass Using an Alternate Path or Channel)
- CVSS 评分:8.4(HIGH)
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L - 影响版本:@fastify/express < 4.0.3
影响范围
所有使用 @fastify/express 插件且版本低于 4.0.3 的 Fastify 应用程序均受影响,特别是那些依赖路径前缀中间件(如 app.use('/admin', authMiddleware))实现访问控制或身份验证的系统。
风险分析
攻击者可利用 URL 编码技术绕过中间件的安全检查,直接访问本应受保护的路由。这可能导致敏感信息泄露、未授权操作执行(如管理功能调用)或数据完整性破坏。尽管攻击复杂度较高(需构造特定编码路径),但一旦成功,影响范围广且危害严重,尤其在权限控制逻辑完全依赖中间件的场景下。
修复建议
- 立即升级 @fastify/express 至安全版本 4.0.3 或更高版本,该版本已修复路径匹配逻辑。
- 若无法立即升级,建议在 Fastify 路由层增加额外的访问控制校验,避免仅依赖 Express 风格中间件进行关键权限判断。
