最近更新时间:2025-03-31 10:19:54
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
纯净模式