一个潜伏了18年的漏洞被公开了,你的数据可能也在危险名单里

admin 2026-08-21 05:59:58 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 一个存在18年的nginx高危漏洞CVE-2026-42945被公开,攻击者无需身份验证即可远程执行恶意代码,利用rewrite模块的堆缓冲区溢出。影响Linux和Windows上的nginx,建议立即升级到1.31.3版本并检查日志、补丁、端口等。同网段服务器也需排查。 综合评分: 80 文章分类: 漏洞分析,web安全,应急响应,威胁情报,安全工具


一个潜伏了18年的漏洞被公开了,你的数据可能也在危险名单里

原创

孟见大侠 孟见大侠

孟见大侠

2026年8月13日 11:15 河南

在小说阅读器读本章

去阅读

一条信息安全的消息刷屏了。

一个Nginx高危漏洞(CVE-2026-42945)被公开,击者可以在不需要任何身份验证的情况下,在服务器上执行恶意代码,加密你的文件,然后勒索你。

我看到消息的第一反应是:我管的小程序服务器也用了nginx,有没有中招?

立刻登录服务器,查看访问日志,检查有没有异常的请求来源,确认系统补丁是否更新到了最新版本,检查了所有开放端口的安全设置。还好,没有遭到攻击。

我还是立刻更新了最新版本的nginx-1.31.3

但这件事情本身,比“有没有中招”更值得想清楚。

我专门去查了这个漏洞的技术细节,因为我想知道黑客是怎么攻击的。

漏洞出在Nginx的“rewrite”模块

这个漏洞是Nginx Web服务器里一个存在了18年的严重缺陷。它的核心,在于Nginx处理URL重写规则时的一个隐藏机制。

简单说,为了提升性能,Nginx在处理某些配置指令时会采用一个“两遍处理”的逻辑:

  1. 测量(LEN PASS):它先计算一下,处理完这个URL后,最终需要分配多大的内存来存放结果。
  2. 写入(VALUE PASS):然后它再根据刚才计算好的大小,分配一块精确的内存空间,把实际的数据写进去。

这个“先测量,后写入”的逻辑,在正常配置下没有问题。但攻击者发现了一个漏洞:在某些特定的配置场景下,这两遍处理之间对同一个数据的理解会出现偏差,最终导致写入的数据量大于之前分配的内存空间,造成堆缓冲区溢出

真实的攻击流程是什么样的?

根据安全研究人员公开的细节,一次利用过程大致是这样的:

首先,攻击者会向服务器发送一个精心构造的请求,请求路径中包含大量特殊的字符(比如“+”号)。这会让Nginx在“测量”阶段估算出一个较小的内存大小。

然而,在随后的“写入”阶段,由于Nginx内部状态的改变,它会对这些字符进行URL编码(例如,把“+”转义为“%2B”),这导致实际写入的字节数远超预估,从而溢出到相邻的内存区域。

为了确保溢出能稳定执行恶意代码,攻击者还会事先通过大量正常请求,在内存中精确地“布置”好一些数据结构(这个过程被称为堆喷),为后续执行系统命令铺路。

通过这样一套组合操作,攻击者最终可以利用这个漏洞,在Nginx服务器上远程执行任意命令,比如反弹一个Shell(命令行控制台),从而完全控制这台服务器。

更麻烦的是:它不是只影响Linux。

Windows上跑的Nginx同样受影响。如果你用的是宝塔面板的Windows版,一样要升级。

不过它不会自动传播,黑客需要手动攻击。但一旦内网有一台服务器被攻破,其他同网段的服务器就会成为下一个目标。

所以排查的时候,不只是查你自己管的那一台,同网段里所有跑Nginx的机器都要查。


说真的,做系统开发和维护,最怕的就是这种“你根本不知道它什么时候会来”的事。这次没中招,不代表下次也能避开。

所以我把检查过的东西再整理了一遍:日志、补丁、端口、权限、备份。每一个环节确认一遍,确保没有遗漏。

你们遇到过信息安全问题吗?有没有被勒索过?


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:孟见大侠 孟见大侠 孟见大侠《一个潜伏了18年的漏洞被公开了,你的数据可能也在危险名单里》

评论:0   参与:  0