NGINX Ingress控制器漏洞公告(CVE-2026-42533)
该漏洞是一个NGINX模块的堆缓冲区溢出漏洞,对于命中触发配置的NGINX服务,该漏洞会导致Worker进程崩溃并重启,造成DoS攻击。在特定条件下,攻击者还可能实现远程代码执行(RCE)。
Kubernetes社区Ingress NGINX控制器从v1.13.3开始使用NGINX 1.27.1,该版本位于CVE-2026-42533的受影响范围内。
漏洞详情
| 漏洞类型 | CVE-ID | 漏洞级别 | 披露/发现时间 |
|---|---|---|---|
| 拒绝服务、RCE | 严重 | 2026-07-15 |
漏洞影响
受漏洞影响的开源Ingress NGINX控制器版本范围如下:
- ≤ v1.13.9
- ≤ v1.14.5
- ≤ v1.15.1
CCE服务的NGINX Ingress控制器插件版本5.0.17、6.0.33及以下均受该漏洞影响。CCE NGINX Ingress控制器插件与开源版本的对应关系参见NGINX Ingress控制器插件版本发布记录。
判断方法
- 前往插件中心,查看是否已安装NGINX Ingress控制器插件以及插件版本。 图1 查看已安装插件版本
- 若插件版本在5.0.17、6.0.33及以下,则受漏洞影响,按步骤3进一步排查,否则不受这些漏洞影响。
- 查看CCE NGINX Ingress控制器插件Pod中的nginx配置。
执行以下命令查看已安装的CCE NGINX Ingress控制器插件Pod:
kubectl get po -A|grep cceaddon-nginx-ingress|grep controller
如下图所示,集群已安装了两个nginx ingress controller:

执行以下命令查看nginx.conf中的rewrite配置:
# 1. 进入NGINX Ingress Controller Pod kubectl exec -it -n <ingress-namespace> <cceaddon-nginx-ingress-controller-pod-name> -- /bin/bash # 2. 查看nginx.conf中是否存在可疑的map配置和rewrite规则组合 # 重点关注使用正则匹配的map指令,以及引用了$1, $2等捕获组的rewrite或set指令 cat /etc/nginx/nginx.conf | grep -E "map.*~|rewrite.*\$[0-9]|set.*\$[0-9]"
输出的nginx rewrite配置满足以下条件可能触发漏洞:
- 包含map指令(使用~进行正则匹配)。
- 引用未命名捕获组(如 $1、$2)的rewrite或set指令。
漏洞消减方案
在修复之前,建议您按最小权限原则,只给予受信用户创建及管理Ingress的权限,详情请参见命名空间权限(Kubernetes RBAC授权)。
若排查结果显示符合漏洞触发条件,可以通过修改Ingress的配置加固:
- 查看Ingress配置:
kubectl get ingress -A -o yaml | grep -A 5 -B 5 "nginx.ingress.kubernetes.io/rewrite-target" kubectl get ingress -A -o yaml | grep -A 5 -B 5 "nginx.ingress.kubernetes.io/configuration-snippet"
- 使用命名捕获组: 将所有配置中危险的rewrite和set指令组合中的“未命名捕获组”(如$1、$2)替换为“命名捕获组”(如 (?<name>...))
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: safe-ingress annotations: # 使用命名捕获组 $path,并保留问号(命名捕获组可规避漏洞) nginx.ingress.kubernetes.io/rewrite-target: /new-path/$path? nginx.ingress.kubernetes.io/configuration-snippet: | set $my_var $uri; # 仍然存在后续指令,但因使用了命名捕获组,漏洞被抑制 spec: rules: - host: example.com http: paths: - path: /old/(?<path>.*) # 定义命名捕获组 path pathType: Prefix backend: service: name: backend-svc port: number: 80 - 参考第2步,修改Ingress资源的annotation中的nginx.ingress.kubernetes.io/configuration-snippet注释。
漏洞修复方案
CCE将发布新的NGINX Ingress控制器插件修复该漏洞,请留意NGINX Ingress控制器插件版本发布记录。
相关链接
NGINX 官方安全通告:https://nginx.org/en/security_advisories.html