服务公告
NGINX ngx_http_rewrite_module 堆缓冲区溢出漏洞预警(CVE-2026-42945)
2026-05-15
一、概要
近日,华为云关注到官方发布更新版本,修复了一处严重的 NGINX ngx_http_rewrite_module 堆缓冲区溢出漏洞(CVE-2026-42945)。当 rewrite 指令的替换字符串包含问号(?),以及后续跟随 rewrite、if 或 set 指令,并且使用未命名的 Perl 兼容正则表达式 (PCRE) 捕获(例如 $1、$2)时,未经身份验证的攻击者可以通过发送特制的 HTTP 请求触发该漏洞,导致 NGINX Worker 进程发生堆缓冲区溢出并异常重启,造成拒绝服务。在特定系统配置下,可进一步实现远程代码执行。目前该漏洞细节、POC已公开,风险高。
NGINX 是一款开源的、高性能的 HTTP 和反向代理服务器,被广泛应用于构建现代化的网站和微服务架构。华为云提醒使用 NGINX 的用户及时安排自检并做好安全加固。
参考链接:
https://depthfirst.com/research/nginx-rift-achieving-nginx-rce-via-an-18-year-old-vulnerability
https://github.com/DepthFirstDisclosures/Nginx-Rift
https://nginx.org/en/security_advisories.html
二、威胁级别
威胁级别:【严重】
(说明:威胁级别共四级:一般、重要、严重、紧急)
三、漏洞影响范围
影响版本:
0.6.27 <= NGINX Open Source <= 0.9.7
1.0.0 <= NGINX Open Source <= 1.30.0
R32 <= NGINX Plus < R32 P6
R36 <= NGINX Plus < R36 P4
其他受影响组件及版本:
2.16.0 <= NGINX Instance Manager <= 2.21.1
5.9.0 <= F5 WAF for NGINX <= 5.12.1
4.9.0 <= NGINX App Protect WAF <= 4.16.0
5.1.0 <= NGINX App Protect WAF <= 5.8.0
F5 DoS for NGINX 4.8.0
4.3.0 <= NGINX App Protect DoS <= 4.7.0
1.3.0 <= NGINX Gateway Fabric <= 1.6.2
2.0.0 <= NGINX Gateway Fabric <= 2.5.1
3.5.0 <= NGINX Ingress Controller <= 3.7.2
4.0.0 <= NGINX Ingress Controller <= 4.0.1
5.0.0 <= NGINX Ingress Controller <= 5.4.1
安全版本:
NGINX Open Source >= 1.30.1
NGINX Open Source >= 1.31.0
NGINX Plus R32 >= R32 P6
NGINX Plus R36 >= R36 P4
其他受影响组件建议参考 F5 官方公告升级到对应修复版本
四、漏洞处置
1.目前,官方已发布安全版本修复了该漏洞,建议受影响的用户升级到安全版本:
https://my.f5.com/manage/s/article/K000161019
2.缓解措施:
如果受影响的用户无法及时升级,可通过以下方式进行缓解:
将受影响 rewrite 指令中未命名捕获组改为命名捕获组:
修复前:
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;
注:修复漏洞前请将资料备份,并进行充分测试。