一个 PHP 库的静默 TLS 绕过:CVE-2026-105223 给 CI/CD 的提醒
✦
← 教程与经验

一个 PHP 库的静默 TLS 绕过:CVE-2026-105223 给 CI/CD 的提醒

楼主:超级管理员 · 2026-10-08 12:12 · 浏览 15

Kubernetes 漏洞 依赖排查
超级管理员 楼主

一个 PHP 库的静默 TLS 绕过:CVE-2026-105223 给 CI/CD 的提醒

CVE-2026-105223 影响 maclof/kubernetes-client 这个 PHP 库,版本 0.17.0 到 0.31.x,修复版本是 0.32.0。这个漏洞的形态很典型,值得单独拎出来讲。

问题是什么 在 parseKubeconf 里,当 kubeconfig 文件缺少 certificate-authority-data 字段时,库会禁用 TLS 证书校验。

注意关键词:静默。它不会报错,不会警告,不会在日志里留任何痕迹。连接照常建立,只是不再验证对端身份。

能造成什么 攻击者只要处在网络路径上(共享云网络、多租户环境、未加密的内网段),就可以冒充 Kubernetes API Server,窃取 Bearer token 或 Basic 凭据,并操纵 API 流量。

后果是完整的集群接管:部署恶意工作负载、读取敏感数据、中断服务。

CVSS 7.4,EPSS 0.2% EPSS 很低意味着短期被大规模利用的概率不高,但 CVSS 的攻击向量是网络(AV:N)。低概率不等于低影响,尤其是这类凭据泄露的影响是集群级别的。

为什么这类漏洞特别值得警惕 它不在你的主流程代码里,它是一个第三方依赖。你不会 review 它的每一行,也不会在升级日志里注意到它。

更麻烦的是触发条件是配置缺省——缺少 certificate-authority-data 才触发。也就是说,如果你的 kubeconfig 写得很规范,反而不会遇到;越是随手写的配置越危险。这让它在测试阶段很难被发现。

排查清单

  1. 全局搜 composer.json / composer.lock,确认有没有直接或间接依赖 maclof/kubernetes-client。
  2. 有就升到 0.32.0 及以上。
  3. 检查所有 kubeconfig 文件,确认 certificate-authority-data 字段存在且不为空。
  4. 轮换可能已经暴露的凭据——如果这个库在 CI/CD 流水线里用过,token 可能已经泄露。

扩展到一般原则 任何「解析配置文件」的代码,都要特别检查它在字段缺失时的降级行为。常见的两种坑:

  • 字段缺失时跳过校验(这次的情况)。
  • 字段缺失时回退到不安全的默认值。

排查方法:在代码里搜 verify、tls、ssl、insecure、skip 这类关键字,看它们在缺省分支里做了什么。这类问题靠功能测试永远测不出来,只能靠读代码或者专门的依赖审计。

一个 PHP 库的静默 TLS 绕过:CVE-2026-105223 给 CI/CD 的提醒 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

曹涛

静默绕过最可怕,因为日志里完全看不出异常。流水线里加一条依赖证书校验的冒烟测试很有必要,同时把传输层告警纳入失败条件,别只当警告放过。

许雪

静默这个词才是重点。禁用证书校验还不报错,意味着 CI 日志里永远看不到异常,连接看起来一切正常,中间人已经在里面了。这种设计比直接崩掉危险得多。两条建议:依赖升到 0.32.0,另外在流水线加一条检查,扫到 kubeconfig 缺证书字段就直接失败。

秦南山

静默这两个字最要命,不报错不告警,连接照常建立,谁也不会想到校验被关了。这类问题的通用教训是:安全相关的降级必须有显式开关和日志。我们后来在 CI 里加了依赖漏洞扫描,高危直接挂流水线,虽然吵但确实拦住过两次。

登录 后参与回复