Kubernetes安全漏洞公告(CVE-2024-10220)
Kubernetes社区近日公布了一个安全漏洞(CVE-2024-10220),该漏洞使得具有创建Pod权限的攻击者能够通过部署配置了gitRepo卷的Pod来执行容器外的任意命令。攻击者可以利用目标Git仓库中的钩子(hooks)目录,实现容器逃逸并执行攻击命令。
漏洞详情
漏洞类型 |
CVE-ID |
漏洞级别 |
披露/发现时间 |
---|---|---|---|
容器逃逸 |
高 |
2024-11-22 |
漏洞影响
受影响的集群版本如下:
- <v1.25
- v1.25.0-r0 - v1.25.16-r2
- v1.27.0-r0 - v1.27.16-r2
- v1.28.0-r0 - v1.28.8-r2
- v1.29.0-r0 - v1.29.4-r2
- v1.30.0-r0 - v1.30.1-r2
判断方法
登录CCE控制台,单击集群名称进入集群总览页面,查看集群版本。
- 如果集群版本不在上述范围内则不受漏洞影响。
- 如果集群版本在受影响范围内,您可以通过以下命令,检查集群中是否存在该漏洞被利用的情况。
该命令会列举所有挂载使用了gitRepo类型的存储卷,并将仓库克隆到.git子目录的Pod中。
kubectl get pods --all-namespaces -o yaml | grep gitRepo -A 2
如果返回中不存在gitRepo配置则不受漏洞影响。
漏洞修复方案
- 当前CCE团队已修复该漏洞,请您关注补丁版本发布记录,及时将集群升级至漏洞修复版本。已EOS集群版本请升级到在维版本进行修复。
已修复集群版本:v1.25.16-r4、v1.27.16-r4、v1.28.13-r0、v1.29.8-r0、v1.30.4-r0及以上版本。
- 由于gitRepo存储卷已被弃用,社区建议的解决方案是使用initContainers容器执行Git克隆操作,然后将目录挂载至Pod容器中,请参见社区示例。