Fastify v5.x 安全漏洞:Content-Type 头部前导空格可绕过请求体模式验证 (CVE-2026-33806)
Fastify 框架 v5.x 版本中披露了一个关键的安全漏洞,允许攻击者通过一个简单的 HTTP 请求头操作,完全绕过服务器端定义的请求体(body)JSON 模式验证。该漏洞被追踪为 CVE-2026-33806 (GHSA-247c-9743-5963),其核心在于 Fastify 对 `Content-Type` 请求头的解析逻辑存在缺陷。具体而言,当攻击者在 `Content-Type` 头的值(例如 `application/json`)前添加一个空格时,Fastify 的验证中间件会错误地跳过对请求体 JSON 数据的模式(schema)检查。这意味着,即使后端明确定义了严格的数据结构和类型约束,恶意构造的请求仍能携带任意格式或包含恶意载荷的数据直接进入应用逻辑层。
此漏洞直接影响所有使用 Fastify v5.x 版本并依赖其内置 `schema.body` 验证功能的 Web 应用和服务。依赖自动化依赖管理工具(如 Renovate)的项目已开始收到更新至修复版本 v5.8.5 的拉取请求。该修复补丁确保了 `Content-Type` 头的解析更加健壮,能够正确处理并验证带有前导空格的头部值,从而堵住验证旁路。对于开发团队而言,这不仅仅是一个简单的依赖版本升级,而是一次必须立即执行的紧急安全修补。
未及时应用此补丁的应用将面临显著的安全风险。攻击者可能利用此漏洞注入畸形数据、触发未预期的业务逻辑错误,或作为更复杂攻击链的初始入口点,尤其是在 API 网关、微服务或任何处理用户输入的后端服务中。虽然漏洞利用门槛较低,但其潜在影响取决于具体应用对已验证数据的信任程度。所有 Fastify v5.x 用户应立即验证其当前版本并升级至 v5.8.5 或更高版本,以消除此验证绕过风险。