重大漏洞预警:Ingress NGINX Controller 未授权远程代码执行(RCE)风险解析

Kubernetes集群漏洞示意图
Kubernetes集群漏洞示意图

近期,云安全公司Wiz披露了 Kubernetes Ingress NGINX Controller 中存在的五个关键安全漏洞(统称为IngressNightmare)。这些漏洞允许攻击者通过未授权访问实现远程代码执行(RCE),并可能导致Kubernetes集群被完全接管。目前,全球超过6500个暴露在公网的集群面临直接风险。本文将深入解析漏洞原理、影响范围及修复方案。


漏洞概述:IngressNightmare 的威胁等级与影响

漏洞核心问题

漏洞的根源在于**Kubernetes准入控制器(Admission Controller)**的网络暴露与权限配置缺陷。攻击者可通过构造恶意请求(如AdmissionReview请求),向准入控制器注入任意NGINX配置指令,从而在Ingress控制器Pod中执行代码。
由于准入控制器默认拥有集群内的高权限,成功利用漏洞的攻击者可实现以下操作:

  • 窃取所有命名空间中的Kubernetes Secret
  • 通过服务账号提权,完全控制集群
  • 横向渗透至其他业务服务

漏洞影响范围

  • 受影响组件:仅限Ingress NGINX Controller(社区版),不涉及NGINX官方Ingress Controller
  • 风险环境:约43%的云环境存在暴露风险,尤其是未限制准入控制器网络访问的集群。
  • CVSS评分:最高9.8分(CVE-2025-1974),属于严重级别

漏洞详情:五大CVE的技术解析

1. (CVSS 4.8)

  • 漏洞类型:输入验证缺陷导致的目录遍历
  • 攻击路径:结合其他漏洞,攻击者可利用此缺陷读取集群中的敏感文件(如Secret),或触发拒绝服务(DoS)。
  • 修复重点:强化文件路径校验逻辑。

2. CVE-2025-24514(CVSS 8.8)

  • 漏洞类型:通过auth-url注解注入恶意配置
  • 攻击路径:攻击者篡改Ingress配置,注入恶意NGINX指令,实现代码执行并窃取Secret。
  • 关键风险:控制器权限被滥用,导致集群级信息泄露。

3. CVE-2025-1097(CVSS 8.8)

  • 漏洞类型:利用auth-tls-match-cn注解配置注入
  • 攻击效果:与CVE-2025-24514类似,通过伪造TLS证书信息触发恶意代码加载。
  • 防御难点:需限制注解的动态配置能力。

4. CVE-2025-1098(CVSS 8.8)

  • 漏洞类型:通过mirror-targetmirror-host注解注入
  • 攻击手法:篡改流量镜像配置,将敏感数据转发至攻击者控制的服务器,同时执行任意代码。
  • 业务影响:数据泄露与业务中断双重风险。

5. CVE-2025-1974(CVSS 9.8)

  • 漏洞类型:未授权攻击者通过Pod网络实现RCE
  • 攻击条件:攻击者需接入Pod网络(如通过漏洞穿透边界),利用NGINX的client-body缓冲区上传恶意共享库,再通过AdmissionReview请求触发加载。
  • 危害等级:直接导致集群完全沦陷。

攻击场景模拟:从配置注入到集群接管

漏洞验证过程示意图
漏洞验证过程示意图

根据Wiz的模拟实验,攻击者可分两步实现集群控制:

  1. 恶意负载上传:利用NGINX的client-body功能,将恶意共享库(如.so文件)上传至Ingress控制器的Pod。
  2. 触发代码执行:发送包含恶意配置的AdmissionReview请求,迫使控制器加载该共享库,从而执行攻击者代码。

此过程完全无需身份验证,且可自动化进行。成功入侵后,攻击者可利用控制器的高权限服务账号,横向移动至其他关键组件。


修复建议与缓解措施

官方补丁版本

  • Ingress NGINX Controller 已发布以下安全版本:

    • 1.12.1
    • 1.11.5
    • 1.10.7
      立即升级至最新版本是首要任务。

关键配置调整

  1. 限制准入控制器网络访问

  2. 临时禁用非必要组件

    • 若无需使用准入控制器,可通过部署参数--disable-admission-plugins关闭该功能。
  3. 强化注解校验

    • 审计所有Ingress配置,限制高危注解(如auth-urlmirror-target)的动态修改权限。

总结:云原生安全的未来挑战

此次IngressNightmare漏洞再次暴露了云原生环境中权限管理的复杂性。随着Kubernetes的普及,准入控制器的安全配置网络隔离策略以及组件的持续更新将成为防御链的核心环节。

企业需建立常态化的漏洞监测机制,并优先采用官方推荐的加固方案。对于无法立即升级的环境,务必通过网络分段与最小权限原则降低攻击面。


延伸阅读

关注我们的Twitter 获取更多网络安全动态 | LinkedIn专业讨论