IngressNightmare Kubernetes NGINX 集群的严重RCE漏洞可使攻击者完全掌控系统

admin 2025年4月7日23:53:34评论20 views字数 2172阅读7分14秒阅读模式

更多全球网络安全资讯尽在邑安全

IngressNightmare Kubernetes NGINX 集群的严重RCE漏洞可使攻击者完全掌控系统

最近在 Ingress NGINX Controller 中发现的一组漏洞,称为“IngressNightmare”,使集群暴露于未经身份验证的远程代码执行 (RCE) 中。Kubernetes 在容器编排中占据主导地位,但它的突出地位使其成为利用的目标。

在 Kubernetes 中,Ingress 充当复杂的流量管理系统,支持外部访问内部服务。它包括两个核心组件:

  • 入口资源:
    这些规则根据主机名、路径或其他条件(通常在 YAML 配置文件中指定)定义路由规则。
  • 入口控制器:
    这些规则通常使用反向代理或负载均衡器来实施路由规则。

Ingress NGINX 控制器建立在流行的 NGINX Web 服务器上,是部署最广泛的选项之一,在 GitHub 上拥有超过 18,000 颗星。

这些缺陷可能允许攻击者破坏整个 Kubernetes 环境。Kubernetes 中的 Ingress 通过 Ingress 资源、按主机名或路径定义路由规则的 YAML 文件以及 Ingress Controller(例如 NGINX 变体)管理到内部服务的外部流量,该控制器通过反向代理强制执行这些规则。

IngressNightmare Kubernetes NGINX 集群的严重RCE漏洞可使攻击者完全掌控系统
                          通过集群内的 Ingress Controller 流向内部服务的外部流量

例如,YAML 可能会将 example.com/ 定向到前端服务,example.com/api 定向到后端服务。虽然用途广泛,但该系统在被利用时很容易受到攻击。

IngressNightmare:四个关键漏洞

IngressNightmare 包含 Ingress NGINX 控制器的准入 webhook 中的四个漏洞,用于验证 Ingress 对象。这些缺陷会影响 v1.11.0、v1.11.0–v1.11.4 和 v1.12.0 之前的版本,v1.11.5 和 v1.12.1 中提供了补丁。他们是:

  • CVE-2025-1097(Auth-tls-match-cn Annotation Injection):
    该漏洞允许攻击者通过 auth-tls-match-cn Annotation 注入恶意配置,绕过鉴权检查。它可以纵 TLS 验证,可能暴露敏感数据或允许进一步利用 (CVSS 8.8)。
  • CVE-2025-1098(镜像 UID 注入):
    攻击者通过利用镜像相关的注释(mirror-target 或 mirror-host)或 UID作,注入任意配置。这可能会重定向流量或执行未经授权的作,从而损害集群完整性 (CVSS 8.8)。
  • CVE-2025-1974(NGINX 配置代码执行):
    最严重的漏洞,该漏洞通过利用 NGINX 配置验证实现未经身份验证的 RCE。攻击者注入在 nginx -t 测试期间执行的代码,授予对集群密钥的访问权限和完全控制权 (CVSS 9.8)。

成功利用该漏洞可能会暴露所有密钥、启用横向移动或导致集群接管。

攻击如何运作?

IngressNightmare 攻击在多阶段过程中利用这些弱点。它从发现开始,攻击者使用 Shodan 等工具扫描暴露的控制器。

IngressNightmare Kubernetes NGINX 集群的严重RCE漏洞可使攻击者完全掌控系统
                                                      IngressNightmare 攻击

然后,他们制作了一个恶意的 Ingress 对象,将有害的 NGINX 指令嵌入到 auth-url 或 auth-tls-match-cn 等注释中。

此对象作为未经身份验证的 AdmissionReview 请求发送到 Webhook,利用其缺少身份验证。

根据报告,控制器生成一个包含注入代码的 NGINX 配置,在使用 nginx -t 验证时,执行加载流氓库等恶意指令,实现 RCE。利用控制器的权限,攻击者可以访问密钥、横向移动,并可能控制集群。

缓解策略

使用以下命令检查易受攻击的 Pod:

重击

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

通过 kubectl describe pod 验证版本。如果存在风险,请使用以下方法升级到 v1.11.5 或 v1.12.1:

重击

helm upgrade ingress-nginx ingress-nginx/ingress-nginx --version <patched-version>

如果修补不是立即的,请使用网络策略限制 Webhook 访问,或者通过设置 controller.admissionWebhooks.enabled=false (Helm) 或删除 ValidatingWebhookConfiguration 来禁用它。

Ingress 还会带来作问题:SSL 错误需要 secret 和 DNS 验证;路由问题需要日志和端点检查;性能瓶颈受益于扩展副本和调整代理设置,例如 proxy-buffer-size: “8k”。

IngressNightmare 揭示了 Kubernetes 遭受复杂攻击的风险。有了补丁和缓解措施,组织必须优先考虑保护其集群。运营尽职调查可确保弹性。立即行动起来,应对这一重大威胁。

原文来自: cybersecuritynews.com

原文链接: https://cybersecuritynews.com/ingressnightmare/

原文始发于微信公众号(邑安全):“IngressNightmare” Kubernetes NGINX 集群的严重RCE漏洞可使攻击者完全掌控系统

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月7日23:53:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IngressNightmare Kubernetes NGINX 集群的严重RCE漏洞可使攻击者完全掌控系统https://cn-sec.com/archives/3925353.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息