# Kubernetes安全漏洞公告（CVE-2024-10220）
Kubernetes社区近日公布了一个安全漏洞（CVE-2024-10220），该漏洞使得具有创建Pod权限的攻击者能够通过部署配置了gitRepo卷的Pod来执行容器外的任意命令。攻击者可以利用目标Git仓库中的钩子（hooks）目录，实现容器逃逸并执行攻击命令。
#### 漏洞详情
表1漏洞信息 
| 漏洞类型 | CVE-ID                                                | 漏洞级别 | 披露/发现时间   |
|:---|:---|:---|:---|
| 容器逃逸                        | [CVE-2024-10220](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2024-10220) | 高  | 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控制台，单击集群名称进入集群概览页面，查看集群版本。
![](https://support.huaweicloud.com/bulletin-cce/zh-cn_image_0000002140626285.png "点击放大")
- 如果集群版本不在上述范围内则不受漏洞影响。
- 如果集群版本在受影响范围内，您可以通过以下命令，检查集群中是否存在该漏洞被利用的情况。 该命令会列举所有挂载使用了gitRepo类型的存储卷，并将仓库克隆到.git子目录的Pod中。
  ```
  kubectl get pods --all-namespaces -o yaml | grep gitRepo -A 2
  ```
  ![](https://support.huaweicloud.com/bulletin-cce/zh-cn_image_0000002104191410.png "点击放大")
  如果返回中不存在gitRepo配置则不受漏洞影响。
  
 
#### 漏洞修复方案
- 当前CCE团队已修复该漏洞，请您关注[CCE补丁版本发布记录](https://support.huaweicloud.com/bulletin-cce/cce_10_0405.html)，及时将集群升级至漏洞修复版本。已EOS集群版本请升级到在维版本进行修复。
  已修复集群版本：v1.25.16-r4、v1.27.16-r4、v1.28.13-r0、v1.29.8-r0、v1.30.4-r0及以上版本。
  
- 由于[gitRepo存储卷](https://kubernetes.io/zh-cn/docs/concepts/storage/volumes/#gitrepo)已被弃用，社区建议的解决方案是使用initContainers容器执行Git克隆操作，然后将目录挂载至Pod容器中，请参见[社区示例](https://gist.github.com/tallclair/849601a16cebeee581ef2be50c351841)。
 
#### 相关链接
<https://github.com/kubernetes/kubernetes/issues/128885>
