最近更新时间:2025-04-22 10:51:23
CVE-2025-1097: 有Ingress资源写权限的攻击者可以通过Nginx Ingress社区提供的auth-tls-match-cn
Annotation向Nginx注入配置,从而在ingress-nginx controller上下文中执行任意代码,并进一步获取整个集群维度的Secrets。
CVE-2025-1098:有Ingress资源写权限的攻击者可以通过Nginx Ingress社区提供的mirror-target
和 mirror-host
Annotation向Nginx注入配置,从而在ingress-nginx controller上下文中执行任意代码,并进一步获取整个集群维度的Secrets。
CVE-2025-1974:在一定条件下,能访问集群内网的攻击者可以利用Nginx Ingress的验证准入控制器(ValidatingAdmissionWebhook)功能实现配置注入,从而在ingress-nginx controller的上下文中执行任意代码,并进一步获取整个集群维度的Secrets密钥。
CVE-2025-24513:Nginx Ingress Controller不对Ingress资源写权限持有者提交的输入数据进行充分验证与过滤。攻击者可利用此漏洞构造恶意请求,将非法数据注入配置文件的生成路径中,从而触发容器内的目录遍历漏洞。该漏洞可能导致拒绝服务,或者与其他漏洞结合使用,导致集群内有限Secrets实例的泄露。
CVE-2025-24514:有Ingress资源写权限的攻击者可以通过Nginx Ingress社区提供的auth-url
Annotation向Nginx注入配置,从而在ingress-nginx controller上下文中执行任意代码,并进一步获取整个集群维度的Secrets。
高危
攻击者能访问Nginx Ingress Controller的 admission webhook 服务端口8443
安装了Nginx Ingress Controller的集群,且Nginx Ingress Controller版本满足:
Nginx Ingress Controller < 1.11.5
Nginx Ingress Controller < 1.12.1
新创建的KCE集群(k8s版本号大于等于1.27),nginx ingress controller已升级到漏洞修复版本
新创建的KCE集群(k8s版本号小于1.27),以及存量的KCE集群
目前社区尚未提供对应的nginx ingress controller漏洞修复版本
为减小漏洞风险,可以考虑以下两种缓解方案
方案一:避免 Nginx Ingress Controller的 admission webhook 服务暴露到公网
通过KCE组件管理安装的Nginx Ingress Controller, admission webhook 服务只能通过ClusterIP或POD IP方式访问,没有直接暴露到公网。 攻击者只有突破了VPC跟公网的隔离,才有可能访问Nginx Ingress Controller的 admission webhook 服务实施攻击
方案二:关闭 Nginx Ingress Controller的 admission webhook 服务
通过kubectl edit命令编辑 Nginx Ingress Controller 的Deployment或者DaemonSet,注释 containers.args 参数中的 - --validating-webhook=:8443
【注意】
关闭webhook功能会导致ingress配置验证功能失效,Nginx Ingress Controller不会提前验证配置是否正确,如果新创建的ingress配置存在错误,Nginx Ingress Controller将无法载入新的配置。即使后续创建了正确的 Ingress 配置,也无法生效,直到错误的 Ingress 配置被修改
修改参数后,Nginx Ingress Controller会发生重启,可能会导致已经长连接发生中断,建议在业务低峰期进行操作
spec:
containers:
- args:
- /nginx-ingress-controller
- --publish-service=$(POD_NAMESPACE)/test2-controller
- --election-id=test2-leader
- --controller-class=ksyun.com/test2
- --ingress-class=nginx
- --configmap=$(POD_NAMESPACE)/test2-controller
# 注释此行,以关闭admission webhook功能
#- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
纯净模式