CVE-2026-33131H3是一个极简的HTTP框架。在2.0.0-0至2.0.1-rc.14版本中,存在一个Host请求头欺骗漏洞。该漏洞源于NodeRequestUrl在访问event.url等属性时,会直接使用未经验证的Host请求头来构造URL。由于H3的路由器在中间件运行之前就已解析路由处理程序,攻击者可以通过发送精心构造的Host请求头(如包含路径),导致中间件中的路径校验失败,从而绕过认证或授权中间件。这会影响所有依赖H3构建的应用(包括Nitro/Nuxt),建议立即升级修复。
该漏洞的核心在于H3框架处理URL的逻辑缺陷。当中间件访问event.url、event.url.hostname或event.url._url时,_url的getter会利用请求中的Host字段来构建完整的URL对象。然而,这个Host字段是用户可控且未被清洗的。在H3的执行流程中,路由匹配发生在中间件执行之前。当路由器确定目标处理程序后,中间件开始执行。如果中间件(如身份验证中间件)使用event.url.pathname来检查当前路径是否需要保护,攻击者可以篡改Host头。例如,将Host设置为evil.com/admin。此时,中间件看到的路径可能是错误的或无法匹配预期的保护规则,从而跳过认证检查。但路由器在之前已经根据请求行中的实际路径匹配到了处理程序,最终导致未授权访问敏感接口。