NGINX 全网级高危漏洞 CVE‑2026‑42945

本文摘要NGINX 高危漏洞 CVE-2026-42945(NGINX Rift)深度预警CVE-2026-42945是 NGINX 重写模块中潜伏18 年的堆缓冲区溢出漏洞,CVSS v4.0 评分9.2(严重),无需认证即可远程代码执行(RCE),影响全球近 30% 网站服务,波及 NGINX 开源版、商业 Plus 版及全系列衍生产品。一、漏洞核心信息漏洞编号:CVE-2026-42945(代号:N...

NGINX 高危漏洞 CVE-2026-42945(NGINX Rift)深度预警

CVE-2026-42945是 NGINX 重写模块中潜伏18 年的堆缓冲区
溢出漏洞,CVSS v4.0 评分9.2(严重),无需认证即可远程代码执行(RCE),影响全球近 30% 网站服务,波及 NGINX 开源版、商业 Plus 版及全系列衍生产品。
一、漏洞核心信息
漏洞编号:CVE-2026-42945(代号:NGINX Rift)
漏洞类型:堆缓冲区溢出(Heap Buffer Overflow)
影响版本:
开源版:0.6.27 ~ 1.30.0(2008 年引入,持续 18 年)
商业版(NGINX Plus):R32 ~ R36
衍生产品:NGINX WAF、F5 WAF、Gateway Fabric、Ingress Controller 等
修复版本:
开源版:1.30.1、1.31.0+
商业版:R32 P6、R36 P4+
披露时间:2026-05-13(F5 官方同步发布补丁)
二、漏洞触发条件(必须同时满足)
漏洞仅在ngx_http_rewrite_module配置中同时出现以下指令时激活:
rewrite 指令带问号(?)(设置持久is_args标志)
后续存在 set/if/rewrite 指令(使用清零子引擎计算长度)
危险配置示例

rewrite ^/old/(.*)$ /new/$1? permanent;  # 带?的rewrite
set $path $1;                                # 后续set指令触发漏洞

三、漏洞原理(精简)
rewrite ? 设置持久is_args标志(保留 URL 参数状态)
set指令创建新子引擎,长度计算时清零is_args,跳过 URL 转义
实际复制时用主引擎,对+ &等字符转义,缓冲区按未转义长度分配,写入膨胀内容
导致可控堆溢出,攻击者可远程篡改内存、执行任意代码
四、攻击风险
无需认证:公网暴露的 NGINX 直接受攻击
远程代码执行(RCE):ASLR 关闭时(如 Windows)可直接拿服务器权限
拒绝服务(DoS):强制 Worker 进程崩溃、循环重启
影响范围极广:全球 37.2% Web 服务器、中国超 254 万站点受波及
五、紧急修复方案(优先级:升级 > 临时规避)
✅ 方案 1:立即升级(推荐)
检查版本:nginx -v
开源版升级至 1.30.1 或 1.31.0+
商业版升级至对应补丁版
升级后重启 NGINX:systemctl restart nginx
✅ 方案 2:临时规避(无法立即升级时)
将 rewrite 中的未命名捕获组($1/$2)替换为命名捕获组,阻断漏洞触发链。
危险写法(易受攻击)

rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;

安全写法(修复后)

rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;

六、受影响产品自查清单
NGINX 开源版 < 1.30.1
NGINX Plus R32~R36
NGINX WAF / F5 WAF
NGINX Gateway Fabric
NGINX Ingress Controller(K8s 集群)
所有基于 NGINX 的反向代理、API 网关、负载均衡器
七、总结
该漏洞潜伏 18 年、触发条件隐蔽、利用门槛低、影响全网,是 2026 年最严重的基础设施漏洞之一。所有对外暴露的 NGINX 必须在 72 小时内完成升级或配置修复,避免被批量攻击。

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~