全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

nginx-ingress-controller CVE-2025-1097等漏洞修复公告

最近更新时间: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-targetmirror-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

纯净模式常规模式

纯净模式

点击可全屏预览文档内容