安全漏洞 CVE-2024-10220 由 Kubernetes 社区披露,攻击者可以借助 gitRepo 的 Volume 利用此漏洞,拉取恶意git repo,导致任意代码执行越权访问宿主机或执行二进制程序,详情请参见 CVE-2024-10220: Arbitrary command execution through gitRepo volume。
CVE-2024-10220 漏洞被评估为高危漏洞,在 CVSS 的评分为 8.1。
受影响的 kubelet 版本:kubelet <= v1.28.11
VKE 集群影响范围:节点 kubelet 版本 < v1.28.15-vke.18
当使用的 VKE 版本在受影响的范围内时,若攻击者具有创建 POD 权限且 gitRepo volume 可用时,攻击者可以拉取恶意 git repo,导致任意代码执行。更多详情,请参见 K8s gitRepo volume任意代码执行(CVE-2024-10220)。
下面是一个使用 Kyverno 禁用 GitRepo volume 的 ClusterPolicy 供您参考。
apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: disallow-gitrepo spec: validationFailureAction: Enforce background: true rules: - name: check-for-gitrepo-volume match: any: - resources: kinds: - Pod validate: message: >- GitRepo volumes are forbidden. The fields spec.volumes[*].gitRepo must not be set. pattern: spec: =(volumes): - X(gitRepo): "null"