近日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.io
或extensions
)中构造定制化的spec.rules[].http.paths[].path
字段,获取Nginx Ingress Controller访问集群API Server的凭证,从而进一步越权获取集群中的Secret实例等敏感信息。
防范措施
止血方案1
在集群中使用策略管理能力,部署容器安全策略规则ACKCheckNginxPath,用于拦截包含危险配置的Ingress变更。更多信息,请参见配置容器安全策略(新版)和容器安全策略规则库说明。
止血方案2
您需要及时收敛非管理员用户创建和修改Ingress实例的权限。
修复方案
您可以关注Nginx Ingress Controller组件发布公告,及时升级该组件。更多该组件发布信息,请参见Nginx Ingress Controller。