CVE-2026-39858Traefik是一个开源的HTTP反向代理和负载均衡器。在2.11.43、3.6.14和3.7.0-rc.2之前的版本中,ForwardAuth和基于代码片段的身份验证中间件存在高危认证绕过漏洞。由于Traefik的转接头清理逻辑仅处理规范名称(如X-Forwarded-Proto),未过滤使用下划线的别名变体(如X_Forwarded_Proto),攻击者可利用此差异向后端注入伪造的信任上下文,从而在没有有效凭据的情况下绕过受保护路由的身份验证。
该漏洞的根源在于Traefik与认证后端对HTTP头处理的差异性。Traefik在转发请求至认证服务(ForwardAuth)时,会清理标准的“X-Forwarded-”系列头以防止伪造攻击。然而,其清理逻辑具有排他性,仅匹配包含连字符的标准名称(如X-Forwarded-Host),完全忽略了使用下划线的非标准变体(如X_Forwarded_Host)。当后端认证服务使用某种将下划线和连字符视为等效的解析器(如部分Web框架默认行为)时,攻击者可以发送包含恶意构造的、带下划线的头部请求。Traefik将这些未清理的头部原样转发给后端。后端误将`X_Forwarded_Proto`识别为`X-Forwarded-Proto`,认为请求来自可信的HTTPS源或受信任的主机,进而错误地授权访问。这使得攻击者能够绕过身份验证层,直接访问受限的内部资源。