如何修复CVE-2025-1097、CVE-2025-1098、CVE-2025-1974、CVE-2025-24513、CVE-2025-24514漏洞

更新时间:2025-03-27 12:07:49

Kubernetes社区披露了Nginx Ingress相关的一系列安全漏洞,包括CVE-2025-1097、CVE-2025-1098、CVE-2025-1974、CVE-2025-24513、CVE-2025-24514等。

漏洞影响

  • CVE-2025-1097: 有Ingress资源写权限的攻击者可以通过Nginx Ingress社区提供的auth-tls-match-cn AnnotationNginx注入配置,从而在ingress-nginx controller上下文中执行任意代码,并进一步获取整个集群维度的Secrets。

    该漏洞被评估为高危漏洞,CVSS评分为8.8,详情请参见#131007

  • CVE-2025-1098:有Ingress资源写权限的攻击者可以通过Nginx Ingress社区提供的mirror-targetmirror-host AnnotationNginx注入配置,从而在ingress-nginx controller上下文中执行任意代码,并进一步获取整个集群维度的Secrets。

    该漏洞被评估为高危漏洞,CVSS评分为8.8,详情请参见#131008

  • CVE-2025-1974:在一定条件下,能访问集群内网的攻击者可以利用Nginx Ingress的验证准入控制器(ValidatingAdmissionWebhook)功能实现配置注入,从而在ingress-nginx controller的上下文中执行任意代码,并进一步获取整个集群维度的Secrets密钥。

    该漏洞被评估为高危漏洞,CVSS评分为9.8,详情请参见#131009

  • CVE-2025-24513:Nginx Ingress Controller不对Ingress资源写权限持有者提交的输入数据进行充分验证与过滤。攻击者可利用此漏洞构造恶意请求,将非法数据注入配置文件的生成路径中,从而触发容器内的目录遍历漏洞。该漏洞可能导致拒绝服务,或者与其他漏洞结合使用,导致集群内有限Secrets实例的泄露。

    该漏洞被评估为中危漏洞,CVSS评分为4.8,详情请参见#131005

  • CVE-2025-24514:有Ingress资源写权限的攻击者可以通过Nginx Ingress社区提供的auth-url AnnotationNginx注入配置,从而在ingress-nginx controller上下文中执行任意代码,并进一步获取整个集群维度的Secrets。

    该漏洞被评估为高危漏洞,CVSS评分为8.8,详情请参见#131006

影响范围

未安装Nginx Ingress Controller组件的集群不在上述漏洞的影响范围内。您可以参见以下内容查询集群是否安装了该组件。

  • 如通过组件管理页面安装。

    您可以在组件管理页面查看。

    1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

    3. 组件管理页面,您可以搜索并定位Nginx Ingress Controller组件,在组件卡片上查看组件是否已安装以及组件的当前版本。

    或通过以下命令查询。

    kubectl get pods -n kube-system --selector app=ingress-nginx
  • 如通过应用市场(Helm Chart)安装。

    1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Helm

    3. Helm列表,查看是否有ack-ingress-nginxack-ingress-nginx-v1对应的Chart应用,其中应用版本为当前Nginx Ingress Controller组件的版本。

      例如下图所示。

      image

受影响的Nginx Ingress Controller版本如下:

  • <v1.11.5

  • v1.12.0

如组件未启用Admission Webhook则不受影响。若通过组件管理页面安装,可执行kubectl get validatingwebhookconfigurations ingress-nginx-admission确认是否启用;若通过应用市场安装,可查看对应应用的基本信息,查看资源中是否有ValidatingWebhookConfiguration 类型的配置。

社区在下列Nginx Ingress Controller版本中修复了该问题:

  • v1.11.5

  • v1.12.1

修复链接如下:

解决方案

组件管理页面和应用市场(Helm Chart)安装的Nginx Ingress Controller解决方案不同。

组件管理组件
应用市场组件
  • 在升级到漏洞修复版本前,您可以在指定集群的组件管理页面中找到Nginx Ingress Controller组件,手动关闭Admission Webhook功能以降低风险。具体操作,请参见管理Nginx Ingress Controller组件

    image

  • Nginx Ingress Controllerv1.11.5版本中修复了相关漏洞。请参见Nginx Ingress Controller组件发布记录,在业务低峰期升级Nginx Ingress Controller组件v1.11.5及以上版本。

    重要

    升级完成后,请务必重新启用Admission Webhook功能。该功能作为Ingress配置的预验证机制,可有效提升服务可靠性和稳定性。在您创建或更新Ingress配置生效前,Admission Webhook能够及时提醒Ingress配置中存在的错误,避免不必要的麻烦。

  • 升级到漏洞修复版本前,您可以手动删除对应的Validation Webhook来进行防范。

  • Nginx Ingress Controllerv1.11.5版本中修复了相关漏洞。请在控制台应用市场页面或Helm页面查看组件发布记录,并参见升级应用市场ack-ingress-nginx在业务低峰期将组件至v1.11.5及以上版本。

  • 本页导读 (1)
  • 漏洞影响
  • 影响范围
  • 解决方案