nginx-ingress插件安全漏洞预警公告(CVE-2021-25748)
漏洞详情
Kubernetes开源社区中披露了1个ingress-nginx漏洞,用户通过Ingress 对象的“spec.rules[].http.paths[].path”字段可以获取ingress-controller使用的credentials。这个credentials可以获取集群中所有namespace的secrets。该漏洞被收录为CVE-2021-25748。
漏洞类型 |
CVE-ID |
漏洞级别 |
披露/发现时间 |
---|---|---|---|
权限提升 |
CVE-2021-25748 |
中 |
2022-6-10 |
漏洞影响
有权限可以创建/更新ingress 中`spec.rules[].http.paths[].path`字段的用户,可以使用换行符绕过对Ingress 对象的“spec.rules[].http.paths[].path”字段的处理,通过这种方式获取ingress-controller使用的credentials,进而可以获取集群中所有namespace的secrets。
判断方法
1.23及以下版本的CCE集群、CCE Turbo集群中:
1. 客户自行安装nginx-ingress的场景,判断nginx-ingress应用的镜像版本是否小于1.2.1
2. 使用CCE提供的nginx-ingress插件,判断插件版本号是否小于等于2.1.0
漏洞修复方案
1. 升级ingress-nginx版本至1.2.1;
2. 如果您正在运行 v1.2.0 (gcr.io/k8s-staging-ingress-nginx/controller-chroot) 中引入的“chrooted” ingress-nginx 控制器,则不会受到影响。
相关链接
- CVE-2021-25748社区漏洞issue:https://github.com/kubernetes/ingress-nginx/issues/8686
- 社区已经发布版本修复: https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.2.1