NGINX爆出严重高危漏洞CVE-2026-42945,威胁全球约 1/3 服务器,请尽快升级到新版!

一个存在了18年的代码缺陷,直到本周才被安全团队正式披露。

研究人员称,攻击者无需登录认证,只需发送一条特制HTTP请求,就能让NGINX工作进程崩溃;在合适条件下,还可能拿到服务器远程代码执行权限。

CVE-2026-42945可追溯到2008年,长期存在于几乎所有标准NGINX构建版本中。由于NGINX承载全球约三分之一的网站,这次事件影响面尤其大。

问题出在ngx_http_rewrite_module的处理逻辑。某个内部标志位被设为参数转义状态后没有清掉,后续长度计算按原始字节数估算,但真正写入时却再次转义。

研究人员称,这样一来,攻击者URI中的“+”“%”“&”等字符会从1字节膨胀到3字节,原本够用的缓冲区就会溢出。

depthfirst已做出可运行的概念验证,显示在关闭ASLR的条件下可实现未认证RCE(远程代码执行)。报告还提到一种理论方法,称攻击者可通过重复请求逐步覆盖指针字节,从而尝试绕过ASLR。

更麻烦的是,NGINX的多进程架构在这里反而给了攻击者反复试错机会:某个工作进程崩溃后,主进程会拉起新进程,且堆布局可能保持一致。

修复方面,NGINX Open Source需升级到1.31.0或1.30.1,NGINX Plus需升级到R36P4或R32P6,并重启服务加载修复后的二进制文件。

如果暂时没法升级,官方给出的缓解办法是,把受影响rewrite规则中的未命名正则捕获改成命名捕获。原文称,命名捕获不会走到有问题的转义路径,因此能移除当前攻击面。

简单说,此漏洞是rewrite模块引发的安全隐患,黑客只要访问特殊的URL,就能导致NGINX崩溃。如果未使用rewrite(伪静态),则不用担心此漏洞。

对于NGINX的远程代码执行隐患,部署护卫神.防入侵系统就能解决,其默认自带Nginx防护规则,在“进程防护”模块中可以查看到。

(NGINX防护,防止远程代码执行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值