近日Kubernetes Ingress-Nginx社区披露了安全漏洞CVE-2021-25745,攻击者可以通过定制化Ingress实例中spec.rules[].http.paths[].path字段获取Nginx Ingress Controller的密钥凭证,从而越权获取集群中Secret实例等敏感信息。

CVE-2021-25745漏洞被评估为高危漏洞,在CVSS的评分为7.6

影响范围

低于v1.2.0版本的Ingress-nginx组件均在漏洞影响范围内。

Kubernetes社区在以下版本的Ingress-nginx组件中修复了该漏洞:

  • v1.2.0-beta.0
  • v1.2.0

关于该漏洞的详细信息,请参见#8502

漏洞影响

具有Ingress实例创建或修改权限的攻击者,通过在Ingress实例(实例的API Group为networking.k8s.ioextensions)中构造定制化的spec.rules[].http.paths[].path字段,获取Nginx Ingress Controller访问集群API Server的凭证,从而进一步越权获取集群中的Secret实例等敏感信息。

防范措施

止血方案1

在集群中使用策略管理能力,部署容器安全策略规则ACKCheckNginxPath,用于拦截包含危险配置的Ingress变更。更多信息,请参见配置容器安全策略(新版)容器安全策略规则库说明

止血方案2

您需要及时收敛非管理员用户创建和修改Ingress实例的权限。

修复方案

您可以关注Nginx Ingress Controller组件发布公告,及时升级该组件。更多该组件发布信息,请参见Nginx Ingress Controller