
2026年5月14日,安全研究团队depthfirst披露了NGINX中存在的一组高危漏洞,其中最严重的CVE-2026-42945(代号"NGINX Rift")被评为CVSS v4.0评分9.2分(严重级别),可追溯至2008年,已在NGINX代码库中潜伏长达18年。该漏洞存在于ngx_http_rewrite_module中,是一个堆缓冲区溢出漏洞,攻击者无需任何认证,仅需发送特制的HTTP请求即可触发NGINX工作进程崩溃,在特定条件下甚至可实现远程代码执行(RCE)。
由于NGINX作为全球使用量极高的反向代理服务器,承载着约三分之一的网站流量,这一漏洞的影响范围极其广泛,威胁全球互联网关键基础设施的安全3。研究人员表示,几乎所有标准NGINX构建版本都受到此漏洞影响1。
该漏洞的根本原因在于ngx_http_rewrite_module的处理逻辑存在缺陷。具体来说,当连续执行rewrite和set指令时,模块内部的一个标志位被设为参数转义状态后没有正确清除。这导致后续计算数据长度时按原始字节数估算,但在真正写入时却再次进行转义处理。
这种不一致性使得攻击者URI中的特殊字符(如"+"、"%"、"&"等)会从1字节膨胀到3字节,导致原本分配的缓冲区空间不足,最终触发堆缓冲区溢出。depthfirst团队已经开发出可运行的概念验证(PoC),证明在关闭地址空间布局随机化(ASLR)的保护机制下,攻击者可以实现未经认证的远程代码执行。
研究人员发现,NGINX的多进程架构在这一漏洞的利用过程中反而为攻击者提供了便利。当某个工作进程因攻击而崩溃后,NGINX主进程会自动拉起新的工作进程,而新的进程可能保持与之前相同的堆布局,这为攻击者提供了反复尝试的机会。
理论上,攻击者可以通过以下步骤利用此漏洞:
除主要的CVE-2026-42945外,研究团队还发现了三个相关漏洞:
这些漏洞共同构成了对NGINX服务器的严重威胁链。
根据官方公告,以下NGINX版本受到CVE-2026-42945漏洞影响:
该漏洞特别危险之处在于:
NGINX官方已发布安全更新,建议所有用户立即采取以下措施:
对于暂时无法升级的用户,官方提供了以下临时缓解方案:
nginx):
# 易受攻击的写法(未命名捕获)
rewrite ^/(.*)$ /newpath/$1 break;
# 安全写法(命名捕获)
rewrite ^/(?<section>.*)$ /newpath/$section break;
管理员可通过以下方式检测系统是否受影响:
nginx -v
depthfirst团队已开发出可工作的PoC,演示了在关闭ASLR保护的条件下实现RCE的过程。虽然公开的PoC尚未广泛传播,但安全研究人员预测很快会出现公开的利用代码。
除了立即应用修复外,建议NGINX管理员采取以下纵深防御措施:
最小权限原则:
强化配置:
运行时保护:
监控与响应:
这一漏洞是由depthfirst团队在2026年4月通过自动化扫描NGINX代码库时发现的。其自动化系统在短短6小时内就发现了5个问题,其中4个获得了NGINX官方的确认。这一发现过程凸显了:
CVE-2026-42945(NGINX Rift)是近年来影响最为广泛的Web服务器漏洞之一,其长达18年的潜伏期、无需认证的利用条件以及可能导致的远程代码执行后果,使其成为全球服务器管理员必须立即应对的严重威胁。所有使用NGINX的组织都应优先处理此漏洞的修复工作,采取多层次防御措施保护关键网络基础设施。
随着攻击技术的不断演进和自动化漏洞扫描工具的普及,类似长期潜伏的高危漏洞可能会被更多地发现。这一事件再次提醒我们,即使是成熟稳定的开源项目也需要持续的安全投入和及时的更新维护。