Kubeflow Pipelines 披露 CVE-2026-118758,CVSS 7.5,问题在 artifacts 服务的路径穿越,修复版本 2.18.0。
漏洞细节
问题出在 /artifacts/get?source=volume 这个端点。volume artifact handler 没有对用户传入的路径做足够约束,构造带 ../ 的路径可以读到卷之外的文件。在关闭了认证的部署里,任何能访问这个端点的人都能利用;多租户环境里则需要有目标命名空间的授权。CVSS 向量显示攻击复杂度低、无需权限、无需交互,只是影响限于机密性。
为什么 ML 平台特别怕这个
ML 平台的机器上通常有大量高价值文件:训练数据、模型权重、云厂商凭证、数据集访问密钥、内部镜像仓库的登录信息。一次任意文件读取,可能直接把整个训练环境的数据资产和云账号暴露出去。而且 MLOps 平台经常为了「方便团队使用」而关闭认证,这个便利直接变成了风险。
升级前
确认当前版本,用 kubectl 查 kubeflow-pipelines 命名空间的部署标签。梳理有哪些流水线和外部系统在调用 artifacts 端点,升级后端点行为可能更严格。备份 pipeline 定义和 volumes 配置。
升级中
升到 2.18.0 或更高。注意 CRD 和 controller 的版本要一起升,只升 UI 不升 controller 是常见的半吊子升级,看起来正常但行为不一致。
升级后
验证三条:已有的 artifact 还能正常读取、老流水线能正常跑完、带 source=volume 的请求对越界路径返回拒绝。另外做两件加固:给 artifacts 端点加认证或者网络策略限制来源、审计过去一段时间里这个端点的访问日志,看有没有异常的 ../ 请求。
长期建议
别把 MLOps 平台直接暴露在公网。它天生假设使用者是可信的内部用户,安全模型和面向公网的服务完全不同。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。