全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:漏洞CVE-2024-10220公告

更新时间:Nov 22, 2024

Kubernetes社区披露了安全漏洞CVE-2024-10220。该漏洞允许拥有创建Pod权限的攻击者通过部署Pod并关联gitRepo存储卷,以执行超出容器边界的任意命令。攻击者利用目标Git仓库中的钩子文件夹,逃逸到容器外完成命令执行攻击。

该漏洞被评估为高危漏洞,在CVSS评分为8.1。关于该漏洞的更多信息,请参见#128885

影响范围

下列版本的kubelet组件均在漏洞影响范围内:

  • v1.30.0~v1.30.2

  • v1.29.0~v1.29.6

  • ≤v1.28.11

社区在下列版本中修复了该问题:

  • v1.31.0

  • v1.30.3

  • v1.29.7

  • v1.28.12

漏洞排查

您可以通过以下命令,检查集群中是否存在该漏洞被利用的情况。

该命令会列举所有挂载使用了gitRepo类型的存储卷,并将仓库克隆到.git子目录的Pod中。

kubectl get pods --all-namespaces -o json | jq '.items[] | select(.spec.volumes[].gitRepo.directory | endswith("/.git")) | {name: .metadata.name, namespace: .metadata.namespace}'

解决方案

  • 由于gitRepo存储卷已被弃用,社区建议的解决方案是使用initContainers容器执行Git克隆操作,然后将目录挂载至Pod容器中,请参见社区示例

  • 通过使用启用安全策略管理中的ACKBlockVolumeTypes策略,限制在集群指定范围内部署的Pod禁止使用的Volume挂载类型,使该类Pod禁止使用gitRepo存储卷,从而限制攻击者使用gitRepo存储卷。

  • 请您及时关注涉及该漏洞修复的容器服务ACK公告,及时升级集群节点池。请参见升级节点池