nginx-ingress插件安全漏洞预警公告(CVE-2021-25745,CVE-2021-25746)
漏洞详情
Kubernetes开源社区中披露了2个nginx-ingress漏洞:
1. 漏洞CVE-2021-25745:用户有权限可以在创建/更新ingress时,利用‘spec.rules[].http.paths[].path’字段,获取到ingress-controller使用的凭证,这个凭证可以获取集群中所有命名空间的密钥。
2. 漏洞CVE-2021-25746:用户有权限可以在创建/更新ingress时,利用‘.metadata.annotations’字段,获取到ingress-controller使用的凭证,这个凭证可以获取集群中所有命名空间的密钥。
漏洞类型 |
CVE-ID |
漏洞级别 |
披露/发现时间 |
---|---|---|---|
权限提升 |
CVE-2021-25745 |
中 |
2022-4-16 |
权限提升 |
CVE-2021-25746 |
中 |
2022-4-16 |
漏洞影响
该漏洞主要影响以逻辑多租的方式使用CCE集群并且普通用户拥有创建Ingress对象的场景。
判断方法
1.23及以下版本的CCE集群、CCE Turbo集群中:
1. 客户自行安装nginx-ingress的场景,判断nginx-ingress应用的镜像版本是否小于1.2.0
2. 使用CCE提供的nginx-ingress插件,判断插件版本号是否小于2.1.0
漏洞修复方案
1. 漏洞CVE-2021-25745消减措施:通过实施准入策略,将'networking.k8s.io/Ingress'中的'spec.rules[].http.paths[].path'限制在已知安全字符中(参考社区最新规则,或者采用annotation-value-word-blocklist中的建议值)。
2. 漏洞CVE-2021-25746消减措施:通过实施准入策略,将'metadata.annotations'的值限制在已知的安全字符中(参考社区最新规则,或者采用annotation-value-word-blocklist中的建议值)。
相关链接
- CVE-2021-25745社区漏洞issue:https://github.com/kubernetes/ingress-nginx/issues/8502
- CVE-2021-25746社区漏洞issue:https://github.com/kubernetes/ingress-nginx/issues/8503
- 社区已经发布版本修复: https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.2.0