ONCALL://19
INC-15 · Traefik mTLS

Traefik Ingress NGINX provider mTLS 认证绕过

Traefik v3.7.0 至 v3.7.10 的 Kubernetes Ingress NGINX provider 在 TLS 选项冲突时会静默放弃客户端证书校验。v3.7.11 修复了这个问题。

INC-15高危看配置软件漏洞P2本周披露 2026-08-21
段子原句“Kubernetes + Traefik Ingress 上开着 mTLS fail-open”
编号
CVE-2026-85596GHSA-j994-9gqj-9hwq
严重度
CVSS 4.0 8.2 High
利用状态
有公开 PoC有公开 PoC:公开材料有端到端复现。未发现在野利用。
对段子公司
同一主机由多个 Ingress 承载且 TLS 选项冲突时,Traefik 会回退到不要求客户端证书的默认配置,也就是段子说的 fail-open。只影响 v3.7.0 至 v3.7.10。
影响范围
受影响版本为 v3.7.0 至 v3.7.10,Traefik v2 不受影响。未找到受影响部署数。
修复版本
  • →v3.7.11
处置清单见处置顺序 · P2

结论

Traefik v3.7.0 至 v3.7.10 的 Kubernetes Ingress NGINX provider 存在高危 mTLS 认证绕过。相同主机由多个 Ingress 对象承载时,TLS 选项冲突会回退到不要求客户端证书的默认配置。上游于 2026-08-19 发布 v3.7.11 修复;官方 GHSA 于 2026-08-21 公布,编号为 GHSA-j994-9gqj-9hwq。[1] [2] [3]

事件经过

漏洞影响 Traefik Kubernetes Ingress NGINX provider。配置使用 nginx.ingress.kubernetes.io/auth-tls-secret 和 nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" 时,多个 HTTPS Ingress 若共享同一主机、客户端 CA 密钥和认证模式,会生成不同名称的 TLS 选项。[1]

Traefik 将同主机的不同 TLS 选项判定为冲突,并使用入口点默认 TLS 配置。默认配置不要求客户端证书,因此未认证的网络客户端可以访问原本受 mTLS 保护的路由。官方 GHSA 评为 High,CVSS 4.0 为 8.2。[1]

漏洞具有明确配置前提,不是所有 Traefik Ingress 都会自动绕过。单个无冲突 TLS 选项的主机不受此特定问题影响。[1] [2]

技术细节

Ingress NGINX provider 根据 Ingress 的命名空间和资源名生成客户端认证 TLS 选项名。相同认证策略被拆分到两个同主机 Ingress 时,选项名仍不同。[1]

TCP 路由层发现同一 SNI 对应不同 TLS 选项后,会回退到入口点默认配置。该默认配置没有 RequireAndVerifyClientCert,从而绕过客户端证书校验。[1] [2]

利用者只需网络可达,不需要 Kubernetes 凭据或客户端证书。触发条件是集群已存在相同主机的分拆 Ingress,且其中包含要求验证客户端证书的受保护路由。[1]

这不是 HTTP/3 或 SNI 大小写匹配漏洞。另一项独立漏洞 CVE-2026-53622 涉及 HTTP/3 对通配符或混合大小写 SNI 的 TLS 选项查找,受影响版本和修复版本均不同。[4]

影响范围

项目已核实范围
产品Traefik Kubernetes Ingress NGINX provider
受影响版本v3.7.0 至 v3.7.10
修复版本v3.7.11
Traefik v2不受影响;该 provider 的客户端认证处理在 v3.7.0 引入
CVECVE-2026-85596;官方 GHSA 页面仍标注无已知 CVE
严重度GHSA CVSS 4.0 8.2 High;NVD 收录的 CVSS-B 4.0 为 8.2
可量化受害规模未找到用户数、受影响部署数、下载量、证书数或资金损失数据

GHSA 将漏洞归为 CWE-287 和 CWE-295。NVD 列出的受影响版本为 v3.7.0 至低于 v3.7.11。[1] [2]

截至报告日,未找到可靠公开证据证明该漏洞已遭在野利用。公开材料提供了端到端复现,但不等同于真实攻击记录。[1]

时间线

  1. 2026-08-19 06:44 UTC
    Traefik 发布 v3.7.11,包含该 GHSA 修复。[3]
  2. 2026-08-21,时区未注明
    Traefik 发布 GHSA-j994-9gqj-9hwq。[1]
  3. 2026-09-04,时区未注明
    NVD 发布 CVE-2026-85596 记录。[2]

修复与缓解

应升级至 Traefik v3.7.11 或更高版本。当前上游 v3.7 系列更新版本也包含此修复。[1] [3]

升级前,可将同主机规则合并到单个 Ingress,或避免在多个同主机 Ingress 上重复配置该客户端认证注解。也可在上游负载均衡器或 API 网关强制验证客户端证书。[5]

排查时,应检查同一主机的多个 HTTPS Ingress 是否共享同一 CA 密钥和认证模式。重点关注 auth-tls-secret 与 auth-tls-verify-client 注解,并确认入口点默认 TLS 配置不会造成认证降级。[1] [5]

对段子中公司的影响

段子明确写了 Traefik Ingress 开启 mTLS fail-open。若公司运行受影响 v3.7.0 至 v3.7.10,并启用了 Ingress NGINX provider,且把同一主机拆成多个 HTTPS Ingress 使用相同客户端 CA 和认证模式,则其受保护路由可能在没有客户端证书时仍可访问。[1] [2]

若公司使用 Traefik v2、v3.6 或更早版本,或每个主机只对应无冲突的 TLS 选项,则不符合这个特定漏洞的受影响条件。仅凭段子未提供版本、provider、Ingress 清单或访问日志,无法确认该公司实际已受影响。

存疑与未验证

  • 官方 GHSA 未列 CVE 编号;CVE-2026-85596 可由 NVD 与 Red Hat 记录交叉确认。[1] [2] [5]
  • GHSA 页面给出 CVSS 4.0 8.2。Red Hat 页面同时展示其 CVSS 3.1 7.5 和 NVD 9.8,评分体系与评估来源不同,不应混为一个分数。[1] [5]
  • 未找到受害部署数量、影响用户数、攻击活动或损失金额的可靠统计。
  • 未验证段子所指公司的 Traefik 版本、Ingress 清单和实际暴露情况。
  • 未找到在野利用证据;公开复现只证明技术可行性。

参考资料

调研截止 2026-10-22 UTC+8 · 未验证的内容已在正文中标注 · 数字以原始来源为准

本页目录