Kubernetes Ingress-nginx远程代码执行漏洞(CVE-2025-1974)
Kubernetes Ingress-nginx存在远程代码执行漏洞(CVE-2025-1974),CVSS评分9.8分。受影响版本为Ingress-nginx <= 1.11.4及部分beta版本。攻击者可通过AdmissionReview请求注入 nginx 配置并执行任意代码。绿盟科技提供检测工具EZ及防护建议,包括升级至安全版本或禁用Admission Webhooks功能以缓解风险。 2025-3-31 10:53:51 Author: blog.nsfocus.net(查看原文) 阅读量:30 收藏

阅读: 1

一 、漏洞概述

近日,绿盟科技CERT监测到Kubernetes发布安全公告,修复了Kubernetes Ingress-nginx远程代码执行漏洞(CVE-2025-1974);由于Kubernetes Pod中部署的Ingress控制器无需认证即可通过网络访问,当Admission webhook对外开放时,未经身份验证的攻击者可以通过向Ingress-nginx发送特制的AdmissionReview请求,远程注入任意的nginx配置,从而在Ingress-nginx上执行任意代码。CVSS评分9.8,目前漏洞细节与PoC已公开,请相关用户尽快采取措施进行防护。

Ingress-nginx是Kubernetes项目提供的开源Ingress控制器,基于nginx实现,用于管理Kubernetes集群中的网络流量,功能强大、易于使用且适应性强。

绿盟科技已成功复现此漏洞:

参考链接:

https://kubernetes.io/blog/2025/03/24/ingress-nginx-cve-2025-1974

二、影响范围

受影响版本

  • Ingress-nginx <= 1.11.4
  • 12.0-beta.0<= Ingress-nginx < 1.12.1

注:在默认安装配置中,Ingress控制器能够访问集群范围内的所有Secrets。

不受影响版本

  • Ingress-nginx >= 1.11.5
  • Ingress-nginx >= 1.12.1

三、漏洞检测

    • 人工检测

用户可先用以下命令确认k8s是否使用了ingress-nginx控制器:

kubectl get pods –all-namespaces –selector app.kubernetes.io/name=ingress-nginx

再输入下列命令查看ingress-nginx的版本:

kubectl -n ingress-nginx get pod <ingress-nginx-pod-name> -o jsonpath=”{.spec.containers[*].image}”

若当前版本在受影响范围内,则可能存在安全风险。

  • 工具检测

绿盟科技自动化渗透测试工具(EZ)已支持k8s ingress的指纹识别和CVE-2025-1974漏洞检测(注:企业版请联系绿盟销售人员获取)。

可使用下列命令进行产品指纹识别:

./ez webscan –disable-pocs all -u  https:192.168.1.41:4443/

可使用下列命令对单个或批量主机进行漏洞检测:

./ez webscan –pocs ingress -u  https:192.168.1.41:4443/
./ez webscan –pocs ingress -uf url.txt

工具下载链接:https://github.com/m-sec-org/EZ/releases

新用户请注册M-SEC社区(https://msec.nsfocus.com)申请证书进行使用:

注:社区版本将于近期发布上述功能

  • 产品检测

绿盟科技远程安全评估系统(RSAS)已具备对此次漏洞的扫描检测能力,请有部署以上设备的用户升级至最新版本。

  升级包版本号 升级包下载链接
RSAS V6系统插件包 V6.0R02F01.3910 https://update.nsfocus.com/update/listRsasDetail/v/vulsys

关于RSAS的升级配置指导,请参考如下链接:

https://mp.weixin.qq.com/s/SgOaCZeKrNn-4uR8Yj_C3Q

四、暴露面风险排查

绿盟科技CTEM解决方案可以主动+被动方式进行k8s相关资产和CVE-2025-1974漏洞风险的发现和排查:

1、可支持直接匹配k8s的资产名称和版本:

2、可通过下发配置核查任务,检查ingress-nginx配置文件中的Admission Controller是否对外暴露:

3、可通过调用PoC进行漏洞扫描:

五、漏洞防护

    • 官方升级

目前官方已发布新版本修复此漏洞,请受影响的用户尽快升级防护,下载链接:https://github.com/kubernetes/ingress-nginx/releases

  • 产品防护

针对上述漏洞,绿盟科技网络入侵防护系统(IPS)与综合威胁探针(UTS)已发布规则升级包,请相关用户升级规则包至最新版,以形成安全产品防护与检测能力。安全防护产品规则编号如下:

安全防护产品 升级包版本号 升级包下载链接 规则编号
IPS 5.6.10.39457 https://update.nsfocus.com/update/listNewipsDetail/v/rule5.6.10 [28764]
5.6.11.39457 https://update.nsfocus.com/update/listNewipsDetail/v/rule5.6.11
2.0.0.39457 https://update.nsfocus.com/update/listNewipsDetail/v/rule5.6.11_v2
UTS 2.0.0.39457 https://update.nsfocus.com/update/listBsaUtsDetail/v/rule2.0.1 28764
5.6.10.39457 https://update.nsfocus.com/update/listBsaUtsDetail/v/rule2.0.0

产品规则升级的操作步骤详见如下链接:

IPS:https://mp.weixin.qq.com/s/DxQ3aaap8aujqZf-3VbNJg

  • 临时防护措施

若相关用户暂时无法进行升级操作,也可以通过下列措施进行临时缓解。

1、对Admission Controller进行访问控制。

2、在不影响业务的情况下,关闭ingress-nginx的Validating Admission Controller功能

(1)使用Helm安装的ingress-nginx:

可以重新安装并设置Helm属性为controller.admissionWebhooks.enabled=false。

(2)手动安装的ingress-nginx:

删除名为ValidatingWebhook 的配置ingress-nginx-admission;编辑Deployment或Daemonset,从控制器容器的参数列表中删除ingress-nginx-controller–validating-webhook。

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。

绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

&nbsp


文章来源: https://blog.nsfocus.net/kubernetes-ingress-nginx%e8%bf%9c%e7%a8%8b%e4%bb%a3%e7%a0%81%e6%89%a7%e8%a1%8c%e6%bc%8f%e6%b4%9ecve-2025-1974/
如有侵权请联系:admin#unsafe.sh