Chaos Mesh 曝高危漏洞,攻击者可接管 Kubernetes 集群
云原生混沌工程平台 Chaos Mesh 存在四个严重安全漏洞(统称"Chaotic Deputy"),影响 2.7.3 之前版本。攻击者可利用未认证 GraphQL 和命令注入漏洞接管 Kubernetes 集群,CVSS 评分高达 9.8 分。建议立即升级或禁用控制服务器修复漏洞。 2025-9-17 02:16:33 Author: www.freebuf.com(查看原文) 阅读量:1 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

漏洞概述

云原生计算基金会(CNCF)旗下混沌工程平台 Chaos Mesh 被曝存在严重安全漏洞。该平台广泛用于 Kubernetes 环境中的故障注入测试。这组被统称为"Chaotic Deputy"的安全缺陷包含四个 CVE 编号,攻击者可通过相对简单的利用技术实现完整的集群接管。

关键要点

  1. Chaos Mesh 2.7.3 之前版本存在未认证的 GraphQL 和命令注入漏洞
  2. 攻击者可利用 10082 端口和 Chaos Daemon 劫持 Pod 并窃取令牌
  3. 建议立即升级或禁用控制服务器

漏洞详情

这组漏洞包含 CVE-2025-59358、CVE-2025-59359、CVE-2025-59360 和 CVE-2025-59361,其中三个漏洞的 CVSS 3.1 评分为 9.8 分(严重级别)。这些漏洞影响 Chaos Mesh 2.7.3 之前的所有版本,攻击者只需具备对 Kubernetes 集群的初始网络访问权限即可利用,即使运行在非特权 Pod 中也能实施攻击。

主要攻击向量

安全公司 JFrog 指出,主要攻击路径是通过利用 Chaos Controller Manager 组件暴露的未认证 GraphQL 服务器。其中:

  • CVE-2025-59358 是身份验证缺失漏洞,允许未经授权访问 10082 端口的 /query 端点
  • 其余三个 CVE 涉及 GraphQL 变异操作中的 OS 命令注入漏洞,包括 cleanTcs、killProcesses 和 cleanIptables

这些变异操作直接将用户输入拼接至命令执行函数中,使攻击者能够通过设备名称、进程 ID 和 iptables 链等参数注入任意 shell 命令。

攻击技术分析

攻击者可利用这些命令注入漏洞执行恶意命令,包括:

  • tc qdisc del dev [设备] root
  • kill [进程ID]
  • iptables -F [链]

漏洞代码路径直接汇入 ExecBypass 方法,该方法在目标 Pod 上执行命令时未进行适当的输入净化。Chaos Daemon 组件以 DaemonSet 模式运行并具有特权权限,一旦初始利用成功,攻击者即可获得广泛的集群访问权限。

Total cluster takeover

攻击过程包括:

  1. 通过暴露的 API 将 Pod 名称映射到进程 ID
  2. 利用 proc 文件系统访问位于/proc/<PID>/root/var/run/secrets/kubernetes.io/serviceaccount/token的服务账户令牌
  3. 通过窃取高权限服务账户令牌实现权限提升

漏洞影响评级

CVE 编号漏洞名称影响CVSS 3.1 评分严重等级
CVE-2025-59358身份验证缺失(DoS)未经授权访问 GraphQL 服务器,导致集群范围 DoS7.5高危
CVE-2025-59359cleanTcs 中的 OS 命令注入在 Pod 上执行任意 shell 命令9.8严重
CVE-2025-59360killProcesses 中的 OS 命令注入在 Pod 上执行任意 shell 命令9.8严重
CVE-2025-59361cleanIptables 中的 OS 命令注入在 Pod 上执行任意 shell 命令9.8严重

修复建议

使用 Chaos Mesh 的组织应立即采取以下措施:

  1. 升级至 2.7.3 版本
  2. 临时解决方案:通过以下命令禁用控制服务器
    helm install chaos-mesh chaos-mesh/chaos-mesh -n=chaos-mesh --version 2.7.x --set enableCtrlServer=false

检测方法:使用 kubectl 命令识别易受攻击的部署,并确认 10082 端口上是否存在暴露的 GraphQL 端点。

参考来源:

Critical Chaos Mesh Vulnerabilities Let Attackers Takeover Kubernetes Cluster

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/449144.html
如有侵权请联系:admin#unsafe.sh