
# nginx-ingress插件安全漏洞预警公告（CVE-2021-25748）
#### 漏洞详情
Kubernetes开源社区中披露了1个ingress-nginx漏洞，用户通过Ingress 对象的"spec.rules\[\].http.paths\[\].path"字段可以获取ingress-controller使用的credentials。这个credentials可以获取集群中所有namespace的secrets。该漏洞被收录为CVE-2021-25748。
表1漏洞信息 
| 漏洞类型 | 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 控制器，则不会受到影响。
#### 相关链接
1. CVE-2021-25748社区漏洞issue：<https://github.com/kubernetes/ingress-nginx/issues/8686>
2. 社区已经发布版本修复: <https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.2.1>
 
