找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5291

积分

0

好友

682

主题
发表于 昨天 00:02 | 查看: 37| 回复: 0

一个沉睡了整整15年的漏洞终于被唤醒,影响范围几乎覆盖所有Nginx版本,攻击者甚至不需要任何认证就能远程拿到服务器控制权。更糟糕的是,之前打过的那些补丁完全无法阻止它。

紧急:Nginx的“化石级”漏洞

2026年7月15日,F5官方拉响了安全警报,一口气修复了Nginx开源版和商业Plus版中的三个高危内存漏洞。其中编号CVE-2026-42533的那个尤其扎眼——它在Nginx代码里悄悄躲了15年,CVSS v4评分高达9.2,妥妥的“严重”级别。

该漏洞由安全研究员 Stan Shaw(网名cyberstan)发现并报告给F5安全应急响应团队(SIRT),目前已在最新版本中得到修复。

⚠️ 影响范围大得惊人:从Nginx 0.9.6到1.30.3(稳定版)以及1.31.2(主线版),换句话说,2011年3月至今的所有Nginx版本统统中招。

漏洞到底是怎么触发的?

问题出在Nginx内部脚本引擎的一个陈年旧账上。

处理请求时,Nginx会用两轮评估来拼凑字符串表达式:先跑一遍LEN轮(测量轮)算算需要多大的缓冲区,再用VALUE轮(写入轮)把实际数据填进去。这两轮都靠一个叫 r->captures 的共享数组来保存正则捕获组(比如$1$2)的内容。

但致命的是,Nginx根本没在两次评估之间保存和恢复这个数组的状态。当map指令的正则表达式在两次捕获引用之间被执行时,它会悄无声息地覆盖掉共享状态。结果呢?LEN轮估算的缓冲区大小和VALUE轮实际写入的数据量就对不上了。

两种攻击套路:偷数据 + 堆溢出

大小对不上了,攻击者立刻就有了可乘之机。

堆缓冲区溢出
如果被覆盖的捕获组比原来的大,VALUE轮就会往缓冲区外多写数据,造成堆内存溢出。溢出的长度和内容全由攻击者通过HTTP请求说了算。

信息泄露
反过来,如果被覆盖的捕获组更小,缓冲区会被分配得过大,响应里就会泄露未初始化的堆内存数据,其中就包括libc指针和堆指针。

💡 最可怕的是,把这两招结合起来,攻击者只用一次未认证的GET请求就能偷到足够绕过ASLR(地址空间布局随机化)的内存指针。再配合大约40个“喷射”连接和一次触发溢出的请求,就能在启用完整ASLR的Ubuntu 24.04上实现100%可靠的远程代码执行。

远不止单个指令的问题

漏洞的触角比想象中更长。根据Cyberstan的技术报告,该漏洞横跨了9个源文件中至少13个独立调用点,HTTP模块和Stream模块无一幸免。任何把正则捕获源和后续基于正则的map变量组合起来的配置都可能被利用

常见受影响的指令如下:

Nginx中易受漏洞影响的指令类别表格

⚠️ 特别注意:捕获引用和map变量不必出现在同一条指令里——同一个location块中不同指令的组合就足够引爆漏洞。

额外风险:命名捕获组的变体

还有一个更烫手的山芋:通过命名捕获组((?P<name>...))触发的漏洞变体。由于缓存机制不同,只修编号捕获的补丁搞不定它。也就是说,即便打了补丁,用了命名捕获组的配置依然可能踩雷。

尤为需要警惕的是,近期针对其他Nginx漏洞(CVE-2026-42945、CVE-2026-9256、CVE-2026-42055和CVE-2026-48142)的修复并不能解决CVE-2026-42533。如果你只更新到了针对那些漏洞的版本,现在依然是裸奔状态。

F5在官方公告里说,在ASLR被禁用或被绕过时,漏洞可能允许远程代码执行。但研究员Stan Shaw给出了更严重的判断:

“阅读F5安全公告的人可能会合理地认为,在默认系统上该漏洞仅导致拒绝服务。但事实并非如此。”

Shaw指出,漏洞本身就提供了绕过ASLR的手段——在默认的Ubuntu 24.04系统上,一次未认证的GET请求就能恢复攻击所需的内存地址。他自己测试的可靠性达到了10/10。目前,肖决定暂不公开完整的PoC和利用细节,给管理员留出打补丁的窗口。这一做法多少吸取了之前CVE-2026-42945(”Nginx Rift”)PoC公开后迅速被武器化的教训。

立即行动:防御清单

✅第一优先级:升级
马上对照下表,将你的Nginx升级到修复版本:

Nginx各版本受影响与修复版本表

✅第二优先级:配置审计
研究员已发布静态配置扫描器(github.com/0xCyberstan/CVE-2026-42533-Config-Scanner)。该工具可以自动识别有漏洞的指令顺序、区分可利用与安全的排列,并支持JSON输出,而且不会对运行中的服务器造成任何影响。建议立刻对生产环境配置跑一遍。

✅第三优先级:配置重构
审计所有location块,检查有没有正则表达式捕获与基于正则的map变量同时出现的情况。如果有,最好重构配置,拆散这种危险组合。

资讯来源:

  • F5官方安全公告(K000162097)
  • The Hacker News
  • Stan Shaw(cyberstan)技术分析报告:cyberstan.co.uk/nginx-rce



上一篇:无显卡本地跑大模型?GLM-5.2 低配部署方案与推理优化深度解析
下一篇:CPO技术现状深度解读:供应链提速与光通信市场拐点
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-7-22 00:07 , Processed in 0.720623 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表