You need to enable JavaScript to run this app.
导航
Kubernetes 安全漏洞公告(CVE-2024-10220)
最近更新时间:2024.11.22 16:23:28首次发布时间:2024.11.22 16:23:28

安全漏洞 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)

缓解措施

  • 利用准入控制器对使用 gitRepo volume 的 Pod 进行检测和拦截。
    可以选择 Kyverno、OPA-gatekeeper、ValidatingAdmissionPolicy(Kubernetes v1.30 GA)等准入控制器和策略来禁止 Workloads 使用 GitRepo volume。

下面是一个使用 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"