漏洞CVE-2024-3177公告

Kubernetes社区披露了安全漏洞CVE-2024-3177,攻击者可以通过在工作负载的容器定义中使用envFrom 字段,绕过ServiceAccount准入插件对Secret挂载的限制,从而导致敏感信息泄漏。该漏洞被评估为低危漏洞,在CVSS的评分为2.7。关于该漏洞的更多信息,请参见#124336

影响范围

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

  • v1.29.0~v1.29.3

  • v1.28.0~v1.28.8

  • ≤v1.27.12

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

  • v1.29.4

  • v1.28.9

  • v1.27.13

ACK集群默认安装组件不在该漏洞影响范围内,若集群中的工作负载同时满足如下条件,则集群会受到影响。

  • 工作负载中的容器、init容器或Ephemeral临时容器使用了envFrom字段挂载Secret实例。

  • 工作负载使用了带有kubernetes.io/enforce-mountable-secrets注解的ServiceAccount。您可以使用如下命令查询集群中有潜在风险的ServiceAccount实例。

    kubectl get serviceaccounts --all-namespaces -o jsonpath="{range .items[?(@.metadata.annotations['kubernetes\.io/enforce-mountable-secrets']=='true')]}{.metadata.namespace}{'\t'}{.metadata.name}{'\n'}{end}"

推荐解决方案

您可以开启集群的API Server审计日志,及时发现对Pod中envFrom字段的非预期更新行为。具体操作,请参见使用集群API Server审计功能