-
-
潜伏18年,CVSS 9.2分!NGINX核心模块曝“无认证RCE”漏洞,PoC已公开
-
发表于: 1小时前 104
-
提到全球互联网的关键基础设施,NGINX反向代理服务器绝对占据一席之地。近日,安全研究人员披露了一个潜伏长达18年的高危漏洞,无需任何认证,攻击者仅需发送一条特制HTTP请求,就能远程控制目标服务器。
当地时间5月13日,F5公司发布安全公告,正式披露编号为 CVE-2026-42945的堆缓冲区溢出漏洞。该漏洞在CVSS v4评分体系中高达9.2分,影响从2008年至今的几乎所有NGINX版本,以及大量基于NGINX的衍生产品。
更令人不安的是,发现该漏洞的安全团队depthfirst已在GitHub上公开了完整的概念验证(PoC)利用代码。

一枚藏在脚本引擎里的“老地雷”
漏洞位于NGINX的 ngx_http_rewrite_module 模块——一个在绝大多数标准NGINX配置中都会启用的核心组件。其根源在于内部脚本引擎处理URI重写时的两次扫描逻辑缺陷。
研究员Zhenpeng (Leo) Lin解释,脚本引擎会先“预演”一遍,计算出最终字符串所需的内存长度,然后再进行实际的数据复制。问题就出在:当一条 rewrite 指令的替换字符串末尾带有问号时,会永久性地设置一个内部标志 is_args。紧接着,如果后面的 set 指令使用了未命名的PCRE捕获组(比如 $1、$2),在长度计算阶段,引擎错误地认为不需要进行URI转义,于是分配了一块刚好装下“原始”字符串的缓冲区。但在实际写入阶段,由于 is_args 标志仍在,ngx_escape_uri 函数对特殊字符进行了转义,导致数据“膨胀”,直接溢出了刚刚分配的堆内存。
用研究员的话说:“内存是按未转义的长度申请的,写的却是转义后膨胀了的字符串,多余的字节全部溢出。”
由于NGINX采用“主进程派生工作进程”的多进程架构,各个工作进程的内存布局完全一致,堆布局对攻击者而言是“确定性”的。这意味着攻击者不仅可以稳定地造成工作进程崩溃(拒绝服务),在某些禁用了地址随机化(ASLR)的系统上,甚至可以实现远程代码执行(RCE),且整个过程无需任何身份认证。
如何判断自己是否受影响?
该漏洞被引入的时间远在2008年发布的NGINX 0.6.27版本中,此后一路潜伏至今。
只要配置中同时存在以下模式的指令,风险就已被激活:
rewrite 指令的替换字符串以问号结尾;
随后出现的 rewrite、if 或 set 指令中使用了未命名的正则捕获组(如 $1、$2)。
一个典型的易受攻击配置示例:
nginxrewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
受影响的不仅是NGINX开源版(0.6.27 至 1.30.0)和商业版NGINX Plus(R32至R36),众多周边产品也被波及,包括NGINX Ingress Controller、NGINX Gateway Fabric、NGINX App Protect WAF、F5 DoS for NGINX等一系列企业级组件。
全球互联网中,近3成的网站服务器或反向代理核心使用NGINX,这使得此漏洞的潜在影响面极其广泛,堪称“关键基础设施级”威胁。
立即升级,或改用“命名捕获”
官方补丁获取:59dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1k6$3W2F1P5q4)9J5k6h3!0J5k6H3`.`.
F5已经发布修复方案,将漏洞修复在NGINX Open Source 1.30.1 和 1.31.0,以及NGINX Plus R32 P6、R36 P4等版本中。所有受影响的产品线都已获得对应的补丁版本。
如果暂时无法立即升级,有一条可操作的临时缓解措施:将所有受影响的 rewrite 指令中的未命名捕获 ($1, $2...) 替换为命名捕获。例如,将上面的危险配置修改为:
nginxrewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;
这将从配置层面瓦解漏洞的触发路径。
此外,本次更新还一并修复了另外三个中高危漏洞(CVE-2026-42946、CVE-2026-40701、CVE-2026-42934),涉及内存过度分配、UAF以及越界读取等问题,同样建议一并处置。
对于任何直接或间接暴露在互联网上的NGINX服务,当下的动作越早越好——要么升级,要么改写配置。
资讯来源:F5安全公告K000160932、depthfirst安全团队披露
[培训]《冰与火的战歌:Windows内核攻防实战》!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。