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审计功能。