CVE-2025-1974 漏洞修复说明

最近更新时间:2025-03-28 14:51:42

我的收藏

背景

CVE-2025-1974 是 Kubernetes 官方维护的 ​ingress-nginx 控制器中一个高危远程代码执行(RCE)漏洞。该漏洞源于 ingress-nginx 的 Validating Admission Webhook 在处理用户提交的 Ingress 对象时,未对配置参数进行充分验证。攻击者可通过注入恶意 NGINX 指令(如加载外部共享库)绕过安全限制,触发动态库加载并执行任意代码。详情可参考 社区文档

影响范围

受影响版本

ingress-nginx < 1.11.5
ingress-nginx >= 1.12.0, < 1.12.1

攻击条件

攻击者需能够访问 Kubernetes Pod 网络(如通过云 VPC 暴露、内网横向渗透或容器逃逸),且目标集群启用了 Validating Admission Webhook(默认开启)。

修复建议

可以通过升级 ingress-nginx 版本或者禁用 webhook 两种方案对本漏洞进行修复:

一、升级 ingress-nginx 版本(推荐)

将 ingress-nginx 版本升级至已修复版本 v1.12.1 或 v1.11.5。
通过 NginxIngress 扩展组件安装的 ingress-nginx 可以参考 自建文档 对已有的 ingress-nginx 进行迁移与升级。

二、禁用 Validating Admission Webhook

对于无法及时进行升级的 ingress-nginx 实例,可以考虑禁用默认开启的 Validating Admission Webhook。
通过 Helm 安装的 ingress-nginx 实例
对于通过 Helm 进行安装的 ingress-nginx 实例,请将controller.admissionWebhooks.enabled值设置为 false,并重新安装。
通过 NginxIngress 扩展组件安装的 ingress-nginx
对于通过 NginxIngress 扩展组件安装的 ingress-nginx,请参考以下步骤禁用 Admission Webhook:
1. 回收 NginxIngress 扩展组件的 Admission Webhook 创建权限。
通过kubectl -n kube-system edit clusterrole tke-ingress-nginx-controller-operator对 NginxIngress 扩展组件 operator 的权限进行编辑,删除 admissionregistration.k8s.io Group 下 validatingwebhookconfigurations 资源的 create 权限。

2. 删除自动创建的 Validating Admission Webhook。
通过 NginxIngress 扩展组件创建的 ingress-nginx 实例对应的 Validating Admission Webhook 名称默认为:<NginxIngress 名称>-ingress-nginx-admission。通过命令kubectl delete validatingwebhookconfigurations <NginxIngress 名称>-ingress-nginx-admission对该 Webhook 进行删除。