近日 Kubernetes Ingress-Nginx 社区披露了 Nginx-Ingress 漏洞 CVE-2021-25746。用户有权限可以在创建/更新 Ingress 时,利用.metadata.annotations
字段,获取到 Ingress-Controller 使用的密钥凭证, 从而进一步获取集群中所有 Namespaces 的 Secrets。
CVE-2021-25746 漏洞被评估为高危漏洞,在 CVSS 的评分为 7.6。
低于 v1.2.0 版本的 Ingress-Nginx 组件均在漏洞影响范围内。
Kubernetes 社区在以下版本的 Ingress-Nginx 中修复了该漏洞:
具有 Ingress 实例创建或修改权限的攻击者,在创建 Ingress 实例时,通过在该 Ingress 实例中构造定制化的metadata.annotations
字段获取 Nginx Ingress Controller 访问集群 API Server 的凭证,从而进一步越权获取集群中的 Secret 实例等敏感信息。
通过实施准入策略,将metadata.annotations
的值限制在已知的安全字符中(参考社区最新 规则,或采用 annotation-value-word-blocklist 中的建议值)。
容器服务近期将提供修复版本,请关注容器服务产品公告。