Kubernetes C#客户端证书验证漏洞解析:自定义CA模式下的中间人攻击风险

本文详细分析了CVE-2025-9708漏洞,该漏洞影响Kubernetes C#客户端,在自定义CA证书模式下存在证书验证不当问题,可能导致中间人攻击和API服务器通信被拦截或篡改。

CVE-2025-9708: Kubernetes C#客户端:自定义CA模式下不当的证书验证可能导致中间人攻击

问题编号: #134063

CVSS评级: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N — 中等 (6.8)

漏洞描述: Kubernetes C#客户端中存在一个漏洞,其证书验证逻辑会接受来自任何证书颁发机构(CA)的、构造正确的证书,而没有正确验证信任链。此缺陷允许恶意行为者提供伪造的证书,并可能拦截或操纵与Kubernetes API服务器的通信,从而导致潜在的中间人攻击和API冒充。

我是否受影响? 如果您符合以下情况,则存在风险:

  • 您使用Kubernetes C#客户端通过TLS/HTTPS连接到Kubernetes API服务器。
  • 在您的kubeconfig文件中使用了自定义CA证书。
  • 您的连接发生在不受信任的网络上。

受影响版本:

  • 在下一个版本(<=17.0.13)之前的所有Kubernetes C#客户端版本。

如何缓解此漏洞? 可通过以下方式缓解此问题:

  • 尽快部署已修复此问题的Kubernetes C#客户端补丁版本。
  • 将CA证书移至系统信任存储区,而不是在kubeconfig文件中指定它们。
    • 注意: 这种方法可能会引入新的风险,因为系统上的所有进程将开始信任由该CA签名的证书。
  • 如果必须使用受影响版本,可以禁用自定义CA,并将CA添加到机器的受信任根证书中。

已修复版本:

  • Kubernetes C#客户端 >= v17.0.14

检测方法: 要确定您的应用程序是否受影响:

  • 检查您对Kubernetes C#客户端的使用情况,并审查证书验证逻辑。
  • 检查您的kubeconfig文件,确定是否使用了自定义CA证书(即clusters部分中的certificate-authority字段)。
  • 检查客户端日志中是否存在意外的或不信任的证书连接。

如果您发现此漏洞已被利用的证据,请通过 security@kubernetes.io 联系我们。

致谢: 此漏洞由 @elliott-beach 报告。 问题的修复和协调由以下人员完成:

  • Boshi Lian (@tg123)
  • Brendan Burns (@brendandburns)
  • Rita Zhang (@ritazh)
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计