IPBUF安全漏洞报告
English
CVE-2026-39858 CVSS 10.0 严重

CVE-2026-39858 Traefik认证绕过漏洞

披露日期: 2026-04-30

漏洞信息

漏洞编号
CVE-2026-39858
漏洞类型
认证绕过
CVSS评分
10.0 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Traefik

相关标签

认证绕过TraefikForwardAuthHTTP头欺骗CVE-2026-39858高危漏洞

漏洞概述

Traefik是一个开源的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源或受信任的主机,进而错误地授权访问。这使得攻击者能够绕过身份验证层,直接访问受限的内部资源。

攻击链分析

STEP 1
侦查
攻击者识别出目标系统使用Traefik作为反向代理,并配置了ForwardAuth进行身份验证。
STEP 2
构造请求
攻击者构造HTTP请求,在请求头中添加使用下划线的别名头部(例如 X_Forwarded_Proto: https),以此伪造受信任的传输协议或主机。
STEP 3
转发请求
Traefik接收到请求,其清理逻辑仅过滤标准连字符头部,未过滤下划线头部,将恶意头部原样转发给认证后端。
STEP 4
欺骗后端
认证后端解析请求,将下划线头部规范化为标准头部,误判请求来源可信,从而返回认证通过的响应。
STEP 5
完成攻击
攻击者成功绕过身份验证机制,获取受保护路由的访问权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
GET /admin HTTP/1.1 Host: target.com User-Agent: Mozilla/5.0 # Injecting underscore variant to bypass Traefik sanitization X_Forwarded_Proto: https X_Forwarded_Host: trusted.internal.domain Connection: close

影响范围

Traefik < 2.11.43
Traefik >= 3.0.0, < 3.6.14
Traefik 3.7.0-rc.1

防御指南

临时缓解措施
如果无法立即升级,建议在Traefik入口处配置中间件,显式丢弃所有包含下划线且可能影响认证逻辑的HTTP头(如X_Forwarded_*)。同时,审查并修改认证后端的代码或配置,确保其严格区分下划线和连字符,或仅信任由Traefik明确重写/清理过的标准头部。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表