2026年5月13日,网络安全领域迎来一个里程碑时刻——人工智能自主发现了潜伏18年的NGINX关键漏洞。

由初创公司depthfirst开发的AI安全分析系统,在一次"点击即分析"的操作中,成功识别出了影响全球近三分之一网站的远程代码执行(RCE)漏洞CVE-2026-42945。该漏洞存在于NGINX的rewrite模块中,自2008年引入以来一直未被发现,影响版本跨度从0.6.27到1.30.0。

目前已发现 1900 万个暴露的 NGINX 实例受到远程代码执行漏洞 CVE-2026-42945 影响。按国家排名的暴露情况:
- 美国:53400011
- 中国:25400008
- 德国:1,871,780

漏洞概况:18年的"定时炸弹"
CVE-2026-42945被评定为严重级别(CVSS 9.2),是一个堆缓冲区溢出漏洞,存在于NGINX的ngx_http_rewrite_module_模块中。漏洞的根源在于NGINX脚本引擎的两阶段处理机制缺陷:当rewrite指令的替换字符串包含问号(?)时,会永久设置isargs标志,而后续set指令在长度计算阶段使用的是全新的子引擎,该标志未被正确传递。这导致内存分配阶段计算的长度小于实际写入长度,最终造成堆溢出。
攻击者可通过构造特定的HTTP请求触发该漏洞。具体而言,当URI中包含大量需要转义的字符(如加号、与号)时,NGINX的转义函数会将每个字节扩展为三个字节,而分配的缓冲区仅按原始长度计算,从而导致数据溢出到相邻内存区域。在特定条件下,这可以被利用来实现远程代码执行。
NGINX官方已于2026年5月13日发布安全补丁,修复版本包括开源版的1.31.0和1.30.1,以及商业版NGINX Plus的R36 P4、R35 P2和R32 P6。由于NGINX在全球Web服务器市场占据约30%的份额,从个人博客到大型企业应用,数以亿计的网站可能受到影响。

depthfirst:AI安全分析的新锐力量
此次漏洞的发现者depthfirst是一家位于旧金山的应用AI实验室,专注于软件安全领域。公司由三位在大型软件系统建设和安全方面拥有丰富经验的创始人创立:Daniele Perito(曾联合创立Faire、Cash App早期安全团队负责人)、Qasim Mithani(AWS早期开发者产品、Databricks基础设施负责人)和Andrea Michi(Google DeepMind研究工程负责人,参与Gemini和AlphaDev项目)。
depthfirst的核心产品是一个自主安全分析系统,专门用于分析底层软件代码。根据公司披露,分析NGINX源代码仅需"点击一次"即可启动,系统在6小时的扫描后识别出5个安全问题,其中包括4个被NGINX官方确认的远程内存损坏漏洞。除CVE-2026-42945外,还包括:
- CVE-2026-42946(高危,CVSS 8.3):
ngx_http_scgi_module_和ngxhttp_uwsgi_module中的内存分配问题,可导致约1TB的异常内存分配,使工作进程崩溃。
- CVE-2026-40701(中危,CVSS 6.3):
ngx_http_ssl_module中的释放后使用问题,当TLS连接在异步OCSP DNS解析完成前关闭时触发。
- CVE-2026-42934(中危,CVSS 6.3):
ngx_http_charset_module中的越界读取问题,处理不完整UTF-8序列时计算负偏移量。
depthfirst已在其GitHub仓库(DepthFirstDisclosures/Nginx-Rift)公开了CVE-2026-42945的完整概念验证(PoC)代码,并发布了详细的技术分析报告。公司同时推出了"开放防御计划",为关键开源项目提供高达500万美元的depthfirst积分,用于发现、验证和修复漏洞。

技术细节:从堆溢出到代码执行
depthfirst的技术分析报告详细披露了漏洞利用的完整路径。攻击的核心挑战在于:溢出数据必须经过URI解析器和转义函数处理,这意味着攻击者无法直接注入任意字节(如空字节)。然而,通过精心设计的"跨请求堆风水"技术,攻击者可以控制堆布局并精确触发内存池销毁时机。
利用过程如下:首先打开一个初始连接并发送部分HTTP头,NGINX会为此分配请求内存池;然后打开第二个"受害者"连接,使其内存池与第一个池相邻;接着完成初始连接的请求头,触发rewrite溢出直接进入相邻的受害者内存池头部;最后立即关闭受害者连接,调用ngx_destroy_pool销毁该池。由于NGINX采用多进程架构,工作进程崩溃后主进程会立即生成新进程,且内存布局保持确定性,攻击者可以反复尝试直到成功。
最终目标是覆盖ngx_pool_t结构体中的cleanup指针(偏移64字节)。该指针指向ngx_pool_cleanup_t结构链表,包含处理函数指针(handler)和参数(data)。通过将cleanup指针重定向到伪造的清理结构,可以在内存池销毁时触发任意代码执行——例如调用system()函数。
值得注意的是,该漏洞的触发条件相对特定:服务器配置必须同时使用rewrite(替换字符串包含?)和set指令。这在API网关配置中较为常见——例如将旧版API迁移到新系统时,需要重写路径同时保留原始端点信息。然而,正是这种"常见但不普遍"的特性,使得漏洞在18年间逃过了人工审计和传统安全工具的检测。
行业影响:AI正在重塑漏洞挖掘
CVE-2026-42945的发现标志着AI驱动漏洞挖掘进入新阶段。与传统的人工代码审计或基于规则的静态分析工具不同,depthfirst的系统能够理解代码的业务逻辑、数据流和跨模块交互。据Forbes报道,该系统发现了一些连Anthropic的Mythos等先进AI安全工具都遗漏的重大漏洞,且成本仅为传统方法的十分之一。
这一事件也引发了关于AI安全研究伦理的讨论。depthfirst在发现漏洞后遵循了负责任的披露流程:首先向NGINX官方报告,提供详细的漏洞描述、根本原因分析和PoC代码;在官方确认并发布补丁后,才公开技术细节和漏洞利用代码。这种平衡透明度和安全性的做法,为AI安全研究树立了标杆。
对于NGINX用户而言,立即升级到修复版本至关重要。由于PoC代码已公开,攻击者可以轻易复制利用方法。企业安全团队应审查其NGINX配置,检查是否使用了受影响的rewrite和set指令组合,并监控异常的网络请求模式。
更广泛的启示
CVE-2026-42945的发现揭示了开源基础设施安全的深层问题。NGINX作为全球最流行的Web服务器之一,其代码经过了无数开发者和安全研究者的审查,却仍然隐藏着如此严重的漏洞。这提醒我们:即使是最成熟、最广泛使用的软件,也可能存在未被发现的缺陷。
AI辅助的漏洞挖掘正在改变这一格局。通过自动化分析大规模代码库,AI系统能够发现人类难以察觉的模式和异常。然而,这也带来了新的挑战:如何确保AI发现漏洞的过程本身安全?如何防止恶意行为者利用AI技术发现并利用零日漏洞?
depthfirst的案例展示了一种可能的答案:将AI能力与负责任的安全研究实践相结合,通过开放防御计划回馈开源社区,在发现和修复漏洞之间找到平衡。随着AI技术的不断进步,我们可以期待更多类似的"AI安全研究员"出现,它们将成为人类安全专家的有力补充,共同守护数字世界的安全。
参考来源:
- depthfirst技术分析报告:https://depthfirst.com/research/nginx-rift-achieving-nginx-rce-via-an-18-year-old-vulnerability
- PoC代码仓库:https://github.com/DepthFirstDisclosures/Nginx-Rift
- NGINX官方安全公告:https://my.f5.com/manage/s/article/K000161019
- OSS-Sec邮件列表:https://seclists.org/oss-sec/2026/q2/519
- depthfirst公司介绍:https://depthfirst.com/company
- NGINX安全公告页面:https://nginx.org/en/security_advisories.html