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