CVE-2025-1974
漏洞详情
Ingress-nginx Controller是一种使用Nginx作为反向代理和负载平衡器的Kubernetes控制器。它在近期纰漏了多种高危安全漏洞,漏洞详情如下。
漏洞类型 | CVE-ID | 漏洞级别 | 披露/发现时间 |
---|---|---|---|
权限提升 | CVE-2025-2787 | 高 | 2025-03-26 |
代码执行 | CVE-2025-1974 | 高 | 2025-03-24 |
代码执行 | CVE-2025-1097 | 高 | 2025-03-24 |
代码执行 | CVE-2025-1098 | 高 | 2025-03-24 |
拒绝服务 | CVE-2025-24513 | 中 | 2025-03-24 |
代码执行 | CVE-2025-24514 | 高 | 2025-03-24 |
认证绕过 | CVE-2024-7646 | 高 | 2024-8-16 |
影响范围
- < 1.11.4
- 1.12.0 - 1.12.3
- 1.13.0 - 1.13.2
漏洞自查
您可以执行下面命令确认集群当前的Ingress-nginx Controller版本。
# v1.10.5在之前的Nginx Ingress文档中被支持https://docs.ucloud.cn/uk8s/service/ingress/nginx_1.26,目前该文档已更新为v1.11.5。
$ kubectl get deployment -n ingress-nginx ingress-nginx-controller -oyaml |grep "image:"
image: uhub.service.ucloud.cn/uk8s/ingress-nginx-controller:v1.10.5
修复方案
在进行修复之前,您需要确认您当前的 Kubernetes 集群版本是否支持要升级的Ingress-nginx Controller版本。可以通过Ingress的版本支持进行自查。
# 查看当前的集群版本
$ kubectl version
Server Version: v1.28.15
注意:如果您的集群不支持Ingress-nginx Controller的版本,建议先升级集群版本再升级Ingress-nginx Controller。如果暂不考虑升级Ingress-nginx Controller,建议您关闭受漏洞(CVE-2025-1974)影响的配置并且只允许受信任的用户有管理ingress资源的权限。更多请参考Kubernetes RBAC配置。
# 关闭准入验证配置
# 在执行 kubectl apply -f mandatory.yaml 之前,删除下面这几行。参考文档:https://kubernetes.github.io/ingress-nginx/user-guide/cli-arguments/
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
如果您的集群支持不受影响的版本如1.11.5,您可以通过以下命令升级。针对漏洞CVE-2025-2787,您可以关注官方的版本发布日志。
a. 升级命令
$ kubectl -n ingress-nginx patch deployment ingress-nginx-controller --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value": "uhub.service.ucloud.cn/uk8s/ingress-nginx-controller:v1.11.5"}]'
b. 查看Ingress-nginx Controller状态是否正常
$ kubectl -n ingress-nginx get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
ingress-nginx-controller 1/1 1 1 26h
最近更新时间:2025-04-02 02:39:44