近日Kubernetes Ingress-Nginx社区披露了安全漏洞CVE-2021-25746,攻击者可以通过定制化Ingress实例中metadata.annotations
字段获取Nginx Ingress Controller的密钥凭证,从而越权获取集群中Secret实例等敏感信息。
CVE-2021-25746漏洞被评估为高危漏洞,在CVSS的评分为7.6。
影响范围
低于v1.2.0版本的Ingress-nginx组件均在漏洞影响范围内。
Kubernetes社区在以下版本的Ingress-nginx组件中修复了该漏洞:
- v1.2.0-beta.0
- v1.2.0
关于该漏洞的详细信息,请参见#8503。
漏洞影响
具有Ingress实例创建或修改权限的攻击者,在创建Ingress实例(实例的API Group为networking.k8s.io
或extensions
)时,通过在该Ingress实例中构造定制化的metadata.annotations
字段获取Nginx Ingress Controller访问集群API Server的凭证,从而进一步越权获取集群中的Secret实例等敏感信息。
防范措施
止血方案1
止血方案2
在集群中使用策略管理能力,部署容器安全策略规则ACKCheckNginxAnnotation,用于拦截包含危险配置的Ingress变更。更多信息,请参见配置容器安全策略(新版)和容器安全策略规则库说明。
止血方案3
您需要及时收敛非管理员用户创建和修改Ingress实例的权限。
修复方案
您可以关注Nginx Ingress Controller组件发布公告,及时升级该组件。更多该组件发布信息,请参见Nginx Ingress Controller。