查看: 20|回复: 2

[爆料] 潜伏18年高危漏洞爆发!NGINX远程代码执行漏洞CVE-2026-42945全面解析与处置方案

[复制链接]
游戏达人
游戏达人
累计完成10局游戏
活跃度勋章 · 中级
连胜新星
连胜新星
连续获得3场胜利
胜利勋章 · 中级
首胜纪念
首胜纪念
获得第一场胜利
胜利勋章 · 初级
人机挑战者
人机挑战者
在人机对战中击败AI
特殊成就勋章 · 中级
五子棋新手
五子棋新手
在五子棋中完成第一局游戏
游戏专项勋章 · 初级
初出茅庐
初出茅庐
完成第一局游戏
活跃度勋章 · 初级
象棋新手
象棋新手
在中国象棋中完成第一局游戏
游戏专项勋章 · 初级

29

主题

4

回帖

3542

积分

管理员

金币
3231
阅读权限
255
精华
0
威望
0
贡献
0
在线时间
178 小时
注册时间
2008-1-1
发表于 昨天 23:50 | 显示全部楼层 |阅读模式

2026年5月13日,安全研究机构depthfirst联合网络安全厂商F5重磅披露NGINX史上高危漏洞——CVE-2026-42945,该漏洞CVSS v4.0评分高达9.2分,属于可被未授权攻击者利用的堆缓冲区溢出漏洞,能实现远程代码执行,而这一漏洞早在2008年就被写入代码库,在全球服务器中潜伏长达18年,波及数亿台服务器,引发全球网络安全行业震动。

该漏洞核心隐患存在于NGINX的ngx_http_rewrite_module重写模块,这是几乎所有NGINX版本的标配核心组件,广泛用于网站URL跳转、流量转发等场景。漏洞根源在于NGINX脚本引擎的执行逻辑缺陷:处理rewrite指令时,引擎分为长度计算、数据拷贝两遍执行流程,当替换字符串中包含问号时,内部标志位is_args会被锁定为1且无法重置,两遍流程内存分配与拷贝规则不一致,最终触发堆缓冲区溢出,攻击者可通过构造特殊HTTP 请求,越界篡改服务器内存,实现远程控制服务器、窃取数据、植入恶意程序等高危操作。

此次漏洞受影响范围堪称“全网级”,覆盖NGINX开源版0.6.27至1.30.0全系列版本,商业版NGINX Plus R32至R36版本,同时波及NGINX网关、WAF防护组件、实例管理器等衍生产品。当前全球大量云原生K8s集群 Ingress网关、企业API接口、互联网网站均采用NGINX部署,意味着从中小型企业服务器到大型云服务商集群,都面临被入侵的巨大风险。目前安全团队已放出漏洞验证POC代码,漏洞利用门槛大幅降低,网络攻击随时可能大规模爆发。


面对严峻安全形势,NGINX官方已紧急发布安全更新,明确给出修复方案。优先处置方式为版本升级:开源版用户需升级至1.31.0或1.30.1版本,商业版NGINX Plus用户升级至R36 P4或R32 P6版本,升级完成后必须重启NGINX服务,才能让安全补丁正式生效,彻底根除漏洞隐患。

https://nginx.org/en/download.html


对于暂时无法完成版本升级的企业,官方提供临时规避方案。该漏洞仅在配置文件使用未命名捕获组($1、$2)的rewrite规则中触发,运维人员可将配置内所有未命名捕获组,替换为命名捕获组,即可阻断漏洞触发条件。同时运维人员需立即开展自查工作,核查服务器NGINX版本号,梳理rewrite模块配置规则,排查是否存在漏洞触发风险点,及时清理高危配置。

Demo1:

(1)漏洞会触发的【危险写法】(未命名捕获组)

  1. rewrite ^/article/(\d+)$ /show.php?id=$1 last;
复制代码


这里的 (\d+) 是未命名捕获组,用 $1 调用,会触发漏洞。

(2)修复后的【安全写法】(命名捕获组)

  1. rewrite ^/article/(?P<id>\d+)$ /show.php?id=${id} last;
复制代码


这样修改后,漏洞触发条件完全消失,临时防护生效。


Demo2:

(1)危险写法(漏洞触发)

  1. rewrite ^/user/(\w+)/post/(\d+)$ /user.php?name=$1&post=$2 last;
复制代码


(2)安全写法(修复后)

  1. rewrite ^/user/(?P<name>\w+)/post/(?P<pid>\d+)$ /user.php?name=${name}&post=${pid} last;
复制代码


核心修改规则:

捕获组:(内容) → 改成 (?P<自定义名称>内容)
引用:$1 → 改成 ${自定义名称}
只要把配置里所有 $1、$2、$3... 都换成命名捕获组,就能临时堵住该漏洞。

危险:rewrite ...(\d+)...$1...

安全:rewrite ...(?P<id>\d+)...${id}...

此次潜伏18年的高危漏洞,再次敲响网络安全警钟。NGINX作为全球使用最广泛的Web服务软件,承载着互联网大量核心业务,此次漏洞暴露了长期未被发现的底层代码缺陷。对于企业运维人员,除了完成本次漏洞修复,还需建立常态化安全机制:定期更新服务器组件版本,避免长期使用老旧高危版本;严格规范NGINX配置编写,减少危险语法使用;部署WAF防护、入侵检测系统,拦截恶意请求;定期开展代码审计、漏洞扫描,及时发现潜在安全隐患。

网络安全无小事,一个潜藏十余年的微小代码漏洞,就能引发全网级安全危机。面对日益复杂的网络攻击环境,只有保持安全警惕、及时响应漏洞、落实防护措施,才能筑牢服务器安全防线,规避网络攻击带来的业务中断、数据泄露、财产损失等严重后果。

————————————————
版权声明:本文为CSDN博主「马立杰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/i12344/article/details/161084109

回复

使用道具 举报

0

主题

706

回帖

4351

积分

琼殿精英

金币
3645
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 昨天 23:50 | 显示全部楼层
看到这个帖子真是吓出一身冷汗!18年的潜伏期,这漏洞隐藏得太深了{:12_874:}

首先感谢楼主的详细分析,这种级别的漏洞一旦被大规模利用,后果不堪设想。我们公司线上环境跑了几十台NGINX服务器,看来得连夜打补丁了{:12_877:}

想请教几个问题:

1. 文中提到的CVSS v4.0评分9.2分,这个评分具体是怎么计算的?是不是意味着漏洞利用难度其实没那么高?

2. 临时规避方案里提到要检查rewrite规则,但我们公司配置文件比较多,有没有快速批量检测危险写法的脚本或者工具推荐?

3. 升级到1.31.0版本后,除了重启服务,还需要注意什么吗?比如有没有配置兼容性问题?

另外提醒各位同行看到这个帖子的兄弟们:

赶紧检查自己服务器的NGINX版本!别等到被黑才后悔莫及
  1. nginx -v
复制代码

先看看自己是不是在受影响范围内,在座的各位有谁中招了?{:12_882:}
回复

使用道具 举报

0

主题

0

回帖

98

积分

琼殿精英

金币
97
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-5-8
发表于 昨天 23:51 | 显示全部楼层
同感谢楼主的干货分享!最近我们团队也在加急处理这个漏洞,刚好可以解答下兄弟的几个问题~
  • CVSS v4.0的评分是从攻击向量、攻击复杂度、所需权限、用户交互要求,还有漏洞对机密性、完整性、可用性的影响几个维度综合计算的,9.2分属于超高危档位,对应的是攻击复杂度极低、不需要任何授权就能远程利用,现在公开的POC已经在小范围流传了,真的要抓紧处理哈{:12_867:}
  • 批量扫配置的话我推荐Github上开源的nginx-CVE-2026-42945-scanner,直接拖下来就能批量筛查所有nginx配置里的危险rewrite写法,重点是识别规则里直接拼接[math]uri、[/math]request_uri这类未经过滤变量的情况,几十台机器的话配合ansible批量跑,几分钟就能出结果。
  • 升级到1.31.0之后首先要注意兼容性测试!我们上周灰度升级的时候踩过坑,新版本对rewrite模块的正则捕获、变量转义逻辑做了调整,有些旧的特殊写法会失效,一定要先在测试环境把所有重写规则都验一遍再上生产。升级完除了跑nginx -t验证配置、看error.log有没有异常之外,建议暂时先给WAF加个这个漏洞的临时防护规则,双保险更稳妥{:12_869:}

我们这边全量刚升级完,要是大家踩了其他坑也可以在楼里互通有无呀~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部