15年前的NGINX漏洞允许攻击者使工作进程崩溃并实现远程代码执行"

admin 2026-10-21 10:55:10 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

15年前的NGINX漏洞允许攻击者使工作进程崩溃并实现远程代码执行

原创

ZM
ZM

暗镜

2026年7月26日 07:00
北京

在小说阅读器读本章

去阅读

个新披露的漏洞(编号为CVE-2026-42533)影响mapnginx 的脚本引擎,自 2011 年 3 月该指令获得正则表达式支持以来,一直可以被悄悄利用。安全研究员 Stan Shaw 向 F5 SIRT 报告了该漏洞,F5 SIRT 协调在 nginx 1.30.4(稳定版)和 1.31.3(主线版)中发布了修复程序,以及 NGINX Plus R33–R36(在 R36 P7 中修复)和 37.0.0.1–37.0.2.1(在 37.0.3.1 中修复)的相应补丁。

该漏洞是一个预身份验证远程代码执行缺陷,其根源在于 nginx 内部脚本引擎中缺少 PCRE 捕获状态的保存/恢复。

nginx 会分两次执行表达式:一次是 LEN 遍历,用于测量缓冲区大小;另一次是 VALUE 遍历,用于写入实际数据。这两次都依赖于一个名为 <request> 的共享可变数组r->captures。当一个map带有正则表达式模式的指令在两次对捕获组的引用之间执行时(例如 <request>$1``),它会静默地覆盖该共享状态,导致 LEN 遍历和 VALUE 遍历得到的大小不一致。

存在15年的NGINX漏洞

这种不匹配会产生两种截然不同的攻击原语:

  • 堆缓冲区溢出:当被破坏的捕获比原始捕获更大时,VALUE 传递写入的数据比缓冲区的大小要多,从而用攻击者完全控制的内容破坏相邻的堆内存。
  • 信息泄露:当被破坏的捕获较小时,缓冲区过大,响应会泄露未初始化的堆字节(包括 libc 和堆指针),足以在单个未经身份验证的 GET 请求中绕过 ASLR。

这两个原语结合起来,攻击者可以使用大约一次泄漏请求、大约 40 次喷射连接和一次溢出触发请求来实现可靠的远程代码执行,据报道,在启用完全 ASLR 的 Ubuntu 24.04 上,可靠性为 10/10。

根据 Cyberstan 的报告,该漏洞并非局限于单个指令。它至少涉及 9 个源文件中的 13 个独立调用点,影响 HTTP 和流模块。任何在同一请求上下文中将正则表达式捕获源(<request>、<request>、location<request>server_name`rewrite`或`if代码块)与后续计算的基于正则表达式的map`变量结合使用的配置都可能被利用——即使是在同一位置代码块中的不同指令之间。

受影响较大的指令包括:

  • proxy_set_header,,,,,proxy_method``proxy_pass``fastcgi_param``uwsgi_param``scgi_param
  • grpc_set_header,,,,return``add_header``rewrite``set
  • root,,,以及其他alias几个access_log

通过命名捕获组((?P<name>...))存在一个单独的、可独立利用的变体,这些变体的缓存方式不同,并且不会通过仅针对编号捕获的补丁来修复。

受影响版本

产品 受影响版本 修复版本
NGINX 开源版(稳定版) 0.9.6 至 1.30.3 1.30.4
NGINX 开源版(主线) 最高版本 1.31.2 1.31.3
NGINX Plus R33–R36 R36 P7
NGINX Plus(新系列) 37.0.0.1–37.0.2.1 37.0.3.1

值得注意的是,最近针对其他 nginx 漏洞(CVE-2026-42945、CVE-2026-9256、CVE-2026-42055 和 CVE-2026-48142)的修复并没有解决这个问题,这意味着修补了这些漏洞的组织仍然面临风险。

值得注意的是,这种棘手的行为早在十多年前的 2014 年 nginx trac 工单中就被首次指出,当时开发者 Maxim Dounin 承认这是一个缺陷,但它从未作为一个安全关键问题得到彻底修复。

该研究人员在 GitHub 上发布了一个静态配置扫描器(0xCyberstan/CVE-2026-42533-Config-Scanner),该扫描器无需利用任何漏洞即可识别易受攻击的指令顺序,使防御者能够立即审核风险敞口。

完整的概念验证和利用说明将在补丁发布后保留 21 天,以便管理员有时间进行更新。这一决定是基于 CVE-2026-42945(“NGINX Rift”)公开后迅速被武器化的情况而做出的。


网络攻击者在黑客论坛上公布了星巴克的数据" 网络安全文章

网络攻击者在黑客论坛上公布了星巴克的数据"

据称一名网名为anes2010的威胁行为者在网络犯罪论坛出售据称包含1.76亿条记录的星巴克用户数据库,数据疑似于2026年6月被窃取。该说法未经星巴克证实且未独立核实。样本数据包含电子邮件、密码哈希、会员信息等,可能带来隐私和钓鱼风险。建议用户保持警惕,关注官方通报。
针对停车缴费界面违规广告链接的治理公告" 网络安全文章

针对停车缴费界面违规广告链接的治理公告"

微信安全中心发布公告治理停车缴费页面违规诱导广告。此类广告常以虚假停车补贴诱导点击致用户财产受损,且关闭按钮隐蔽或作假,违反广告法。平台将依法依规限制违规链接。建议用户扫码缴费时仔细辨别信息,警惕诱导授权与付费弹窗,遇可疑情况及时举报。
MemoryForensic-Introduction" 网络安全文章

MemoryForensic-Introduction"

本文介绍了Volatility内存取证工具的基本使用,包括安装、获取内存样本的方法、Volatility3的插件结构变化、识别镜像信息、列出进程和网络连接、列出DLL以及使用malfind和yarascan进行恶意软件检测。文章强调了Volatility3自动识别操作系统版本的优势,并提供了常用插件的命令示例。
评论:0   参与:  0