Kubernetes官方地址:
https://kubernetes.io/blog/2025/03/24/ingress-nginx-cve-2025-1974
https://kubernetes.io/zh-cn/blog/2025/03/24/ingress-nginx-cve-2025-1974
阿里云官方地址:
https://avd.aliyun.com/detail?spm=5176.14126787.0.0.14a1ulTRulTRbT&id=CVE-2025-24514
https://avd.aliyun.com/detail?spm=5176.14126787.0.0.14a1ulTRulTRbT&id=CVE-2025-1097
https://avd.aliyun.com/detail?spm=5176.14126787.0.0.14a1ulTRulTRbT&id=CVE-2025-1098
1. CVE-2025-24513(目录遍历)
漏洞类型:目录遍历
缓解方法:
- 升级至安全版本:
- 升级到 ingress-nginx v1.11.5 或 v1.12.1 及以上版本(官方修复版本)。
- 下载链接:https://github.com/kubernetes/ingress-nginx/releases
- 临时缓解措施(不推荐长期使用):
- 禁用 Admission Controller(仅适用于未启用准入控制器的场景):
- 如果使用 Helm 安装:
helm upgrade [RELEASE_NAME] ingress-nginx/ingress-nginx \ --set controller.admissionWebhooks.enabled=false \ -n ingress-nginx
- 如果 手动安装:
- 删除
ValidatingWebhookConfiguration
:kubectl delete validatingwebhookconfigurations ingress-nginx-admission
- 或编辑
Deployment/DaemonSet
,移除--validating-webhook
参数:kubectl edit deployment -n ingress-nginx ingress-nginx-controller
- 如果使用 Helm 安装:
2. CVE-2025-24514(auth-url 注解注入)
漏洞类型:配置注入
缓解方法:
- 升级至安全版本:
- 升级到 ingress-nginx v1.11.5 或 v1.12.1 及以上版本。
- 注意:如果已启用
enable-annotation-validation
参数(v1.12.0 起默认启用),则不受此漏洞影响。 - 临时缓解措施:
- 禁用 Admission Controller(与 CVE-2025-1974 的缓解措施相同)。
- 检查并移除恶意注解:
- 检查所有 Ingress 中的
auth-url
注解:kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,AUTH_URL:.metadata.annotations.nginx\.ingress\.kubernetes\.io/auth-url'
- 移除
auth-url
注解:kubectl annotate ingress -n <命名空间> <Ingress名称> nginx.ingress.kubernetes.io/auth-url-
- 检查所有 Ingress 中的
3. CVE-2025-1097(auth-tls-match-cn 注解注入)
漏洞类型:配置注入
缓解方法:
- 升级至安全版本:
- 升级到 ingress-nginx v1.11.5 或 v1.12.1 及以上版本。
- 临时缓解措施:
- 检查并移除恶意注解:
- 检查所有 Ingress 中的
auth-tls-match-cn
注解:kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,AUTH_TLS_MATCH_CN:.metadata.annotations.nginx\.ingress\.kubernetes\.io/auth-tls-match-cn'
- 移除
auth-tls-match-cn
注解:kubectl annotate ingress -n <命名空间> <Ingress名称> nginx.ingress.kubernetes.io/auth-tls-match-cn-
- 检查所有 Ingress 中的
4. CVE-2025-1098(mirror-target/mirror-host 注解注入)
漏洞类型:配置注入
缓解方法:
- 升级至安全版本:
- 升级到 ingress-nginx v1.11.5 或 v1.12.1 及以上版本。
- 临时缓解措施:
- 检查并移除恶意注解:
- 检查所有 Ingress 中的
mirror-target
和mirror-host
注解:kubectl get ingress -A -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,MIRROR_TARGET:.metadata.annotations.nginx\.ingress\.kubernetes\.io/mirror-target,MIRROR_HOST:.metadata.annotations.nginx\.ingress\.kubernetes\.io/mirror-host'
- 移除相关注解:
kubectl annotate ingress -n <命名空间> <Ingress名称> nginx.ingress.kubernetes.io/mirror-target- kubectl annotate ingress -n <命名空间> <Ingress名称> nginx.ingress.kubernetes.io/mirror-host-
- 检查所有 Ingress 中的
5. CVE-2025-1974(远程代码执行)
漏洞类型:远程代码执行
缓解方法:
- 升级至安全版本(最高优先级):
- 升级到 ingress-nginx v1.11.5 或 v1.12.1 及以上版本。
- 下载链接:https://github.com/kubernetes/ingress-nginx/releases
- 临时缓解措施(仅适用于无法立即升级的场景):
- 禁用 Admission Controller:
- 如果使用 Helm 安装:
helm upgrade [RELEASE_NAME] ingress-nginx/ingress-nginx \ --set controller.admissionWebhooks.enabled=false \ -n ingress-nginx
- 如果 手动安装:
- 删除
ValidatingWebhookConfiguration
:kubectl delete validatingwebhookconfigurations ingress-nginx-admission
- 或编辑
Deployment/DaemonSet
,移除--validating-webhook
参数:kubectl edit deployment -n ingress-nginx ingress-nginx-controller
- 如果使用 Helm 安装: