漏洞CVE-2024-7646公告

Kubernetes社区披露了安全漏洞CVE-2024-7646。该漏洞允许具有创建Ingress对象的RBAC权限的用户(在networking.k8s.ioextensions API组中)绕过Nginx Ingress Controller的Annotation校验,发起命令注入攻击,并可能获取Nginx Ingress Controller的凭据。攻击者可以通过该凭据访问集群中的Secrets密钥信息。

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

影响范围

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

  • Nginx Ingress Controller < v1.11.2

  • Nginx Ingress Controller < v1.10.4

下列版本的Nginx Ingress Controller组件修复了该问题:

  • v1.11.2及以上版本

  • v1.10.4及以上版本

漏洞影响

该漏洞只影响安装和使用了Nginx Ingress Controller组件的集群。如果集群中没有安装该组件,则集群不受影响。

您可以通过以下命令,确认集群中是否安装了Nginx Ingress Controller组件。

kubectl get po -nkube-system -A| grep -E 'nginx-ingress-controller|ingress-nginx-controller'

如果集群中已经安装并使用了Nginx Ingress Controller组件,您可以在API Server的审计日志中查看Annotation (例如nginx.ingress.kubernetes.io/auth-tls-verify-client)中是否包含回车符(\r)的Ingress实例创建日志,从而查找可疑的攻击事件。关于API Server审计日志的更多内容,请参见使用集群API Server审计功能

解决方案

如果您的集群正在使用Nginx Ingress Controller组件,请您关注Nginx Ingress Controller的发布记录,及时升级到最新的漏洞修复版本。具体操作,请参见升级Nginx Ingress Controller组件