研究人员在用于 Kubernetes 的 Ingress NGINX 控制器中发现了一系列严重的安全漏洞,这些漏洞被统称为 “IngressNightmare”。
这些漏洞可能使未经过身份验证的攻击者执行远程代码,并完全控制易受攻击的 Kubernetes 集群。
Ingress NGINX 远程代码执行漏洞
这些漏洞编号为 CVE-2025-1097、CVE-2025-1098、CVE-2025-24514、CVE-2025-1974 和 CVE-2025-24513,影响 Ingress NGINX 控制器的准入控制器组件。
此攻击途径的 CVSS v3.1 基础评分为 9.8。
CVE-2025-1097:该漏洞允许攻击者通过 Ingress NGINX 控制器中未经清理的 auth-tls-match-cn 注解进行配置注入。
它使攻击者能够绕过验证检查并注入任意的 NGINX 配置,有可能导致远程代码执行。
CVE-2025-1098:此漏洞涉及通过 Ingress NGINX 控制器中未经清理的镜像注解进行配置注入。
攻击者可以通过操纵未经过正确清理的 UID 字段来注入任意的 NGINX 配置指令。
CVE-2025-24514:该漏洞允许攻击者通过 Ingress NGINX 控制器中未经清理的 auth – url 注解进行配置注入。
它使攻击者能够注入任意的 NGINX 配置指令,有可能导致远程代码执行。
CVE-2025-1974:此问题允许在 Ingress NGINX 准入控制器中执行远程代码。攻击者通过精心构造的 AdmissionReview 请求注入 ssl_engine 指令。
这使攻击者能够在 NGINX 配置测试阶段加载任意共享库,从而以提升的权限执行代码。
CVE-2025-24513:Ingress NGINX 控制器中的此漏洞涉及与身份验证机密文件相关的文件路径遍历问题。与该组中的其他漏洞相比,其严重程度较低。
Wiz 的研究人员在披露信息中警告称:“攻击者利用这些漏洞可未经授权访问 Kubernetes 集群中所有命名空间存储的所有机密信息,这可能导致集群被接管。”
Ingress NGINX 控制器是 Kubernetes 最受欢迎的入口控制器之一,在 GitHub 上获得了超过 18000 个星标。
它是一个核心的 Kubernetes 项目,用于将集群中运行的应用程序暴露给外部流量。
根据 Wiz 的分析,大约 43% 的云环境存在漏洞,超过 6500 个集群(包括财富 500 强公司的集群)将易受攻击的准入控制器公开暴露在互联网上。
以下是这些漏洞的概要:
风险因素 | 详情 |
受影响产品 | 用于 Kubernetes 的 Ingress NGINX 控制器 |
影响 | 远程代码执行 |
利用前提条件 | 对准入控制器的网络访问 |
CVSS 3.1 评分 | 9.8(严重) |
技术利用路径
利用链的工作方式如下:
1.攻击者通过利用 NGINX 客户端请求体缓冲区上传恶意共享库有效载荷。
2.他们发送包含指令注入的精心构造的 AdmissionReview 请求。
3.注入的指令(通常是 ssl_engine)会使 NGINX 将攻击者的文件作为共享库加载。
4.这会导致以 Pod 提升后的权限执行代码。
易受攻击的控制器以提升后的权限运行,并且网络访问不受限制,这使得攻击者能够访问跨命名空间的所有集群机密信息,有可能导致集群被完全接管。
安全专家强烈建议 Kubernetes 管理员立即采取行动:
1.更新到 Ingress NGINX 控制器 1.12.1 或 1.11.5 版本,这些版本包含修复这些漏洞的补丁。
2.确保准入 Webhook 端点不对外暴露。
3,实施严格的网络策略,限制对准入控制器的访问。
4.如果无法立即升级,对于使用 Helm 安装的情况,可临时禁用准入控制器,方法是设置 controller.admissionWebhooks.enabled=false。
Wiz 建议:“如果无法立即升级,可以考虑实施严格的网络策略,仅允许 Kubernetes API 服务器访问准入控制器。”
组织可以使用命令 “kubectl get pods –all – namespaces –selector app.kubernetes.io/name = ingress – nginx” 来检查是否存在易受攻击的部署。
“IngressNightmare” 的发现凸显了保护 Kubernetes 准入控制器的至关重要性,而准入控制器在集群环境中往往是被忽视的攻击面。
随着技术细节现已公开,管理员应优先进行补丁修复,以防止这些严重漏洞被利用。
发表评论
您还未登录,请先登录。
登录