CVE-2026-40912Traefik是一个开源的HTTP反向代理和负载均衡器。在2.11.43、3.6.14和3.7.0-rc.2之前的版本中,StripPrefixRegex中间件与ForwardAuth、BasicAuth或DigestAuth结合使用时存在高危认证绕过漏洞。由于中间件对URL解码与切片处理的逻辑差异,攻击者可利用包含点分段的特殊请求路径,欺骗认证服务放行请求,从而未授权访问受保护的后端敏感资源。
该漏洞的核心原因在于StripPrefixRegex中间件处理URL路径时的逻辑不一致。中间件首先对URL路径进行解码,并使用正则表达式匹配需要剥离的前缀,但随后利用匹配结果的字节长度直接对原始的百分号编码路径进行切片。当攻击者构造的URL前缀部分包含点字符(例如 `/api./admin`)时,正则匹配解码后的路径确定前缀长度(如 `/api`),但切片原始路径时会保留点字符,导致剩余路径变为点分段(如 `./admin`)。ForwardAuth中间件将此点分段路径放入 `X-Forwarded-Uri` 头部发送给认证服务,由于该路径通常不匹配受保护路径的规则(如 `/admin`),认证服务误认为非受保护资源而放行。最终,后端服务器根据RFC 3986规范对路径进行标准化处理,将 `./admin` 还原为 `/admin` 并返回敏感数据。