NGINX 重大漏洞安全报告:CVE-2026-42530 & CVE-2026-42055

2026年6月17日,F5公司打破了常规的补丁发布节奏,以"带外安全更新"(Out-of-Band Security Advisory)的形式,一次性披露了NGINX生态系统中的6个安全漏洞。这种非例行的发布方式本身,就已足以说明事态的严重性——F5通常只有在漏洞具备远程利用潜力、且严重性评分逼近上限时,才会启动这一特殊响应流程。

在这6个漏洞中,CVE-2026-42530CVE-2026-42055 被评为最高威胁等级,CVSS 3.1评分均为8.1,CVSS 4.0评分均为9.2。两个漏洞均属于数据层(data plane)处理层面的缺陷,而非控制层(control plane)的暴露,这意味着攻击路径直接指向处理实际网络流量的核心组件,危害面极广。考虑到NGINX目前是全球市场占有率最高的Web服务器软件之一,这次安全事件的潜在影响范围难以低估。


CVE-2026-42530:HTTP/3 模块中的释放后使用漏洞

漏洞原理

CVE-2026-42530是一个经典且高危的释放后使用(Use-After-Free,UAF)​类型漏洞,存在于NGINX Open Source的 ngx_http_v3_module 模块中。该漏洞的触发场景有一个前提:目标NGINX实例必须配置启用了HTTP/3 QUIC模块。

攻击路径相当直接:远程攻击者无需通过任何形式的身份验证,仅需构造一个特制的HTTP/2连接会话,并利用该会话重新开启QPACK编码器的数据流。QPACK是HTTP/3中用于头部压缩的机制,这一操作会导致NGINX的工作进程(worker process)访问已释放的内存区域,即触发UAF。最直接的后果是工作进程崩溃并被迫重启,造成服务中断;而在内存地址空间随机化(ASLR)被禁用或遭到绕过的系统上,攻击者更可能借此实现对服务器的远程代码执行(RCE)​,完全掌控目标主机。

受影响版本

CVE-2026-42530主要影响 NGINX Open Source 1.31.0 和 1.31.1 版本。由于NGINX Instance Manager、NGINX Gateway Fabric和NGINX Ingress Controller均基于NGINX Open Source构建,这三款衍生产品同样受到波及。F5已针对NGINX Gateway Fabric 2.x发布了修复版本(2.6.4),但截至公告发布时,NGINX Instance Manager 2.x、NGINX Gateway Fabric 1.x、NGINX Ingress Controller 3.x至5.x的专属补丁尚未就绪。

修复方案

升级至 NGINX Open Source 1.31.2 即可完全修复此漏洞。对于暂时无法升级的用户,官方推荐的临时缓解措施是禁用HTTP/3——具体操作为在所有 listen 指令中移除 quic 参数,从配置层面彻底切断攻击路径。


CVE-2026-42055:HTTP/2 代理模块中的堆缓冲区溢出漏洞

漏洞原理

CVE-2026-42055是一个基于堆的缓冲区溢出(Heap-based Buffer Overflow)​漏洞,波及范围比CVE-2026-42530更广,同时影响 ngx_http_proxy_v2_modulengx_http_grpc_module 两个模块,NGINX Plus与NGINX Open Source均受波及。

该漏洞的触发需要满足一组特定的配置组合:NGINX需将 proxy_http_version 参数设置为2,或通过 grpc_pass 指令代理HTTP/2流量;同时,ignore_invalid_headers 指令必须处于关闭(off)​状态,且 large_client_header_buffers 指令的缓冲区容量超过2 MB。当上述条件同时成立时,攻击者可在建立上游请求的过程中,向目标发送多个尺寸巨大的HTTP头部,这些超规格头部数据会淹没分配给堆内存的缓冲区,引发溢出,轻则导致工作进程崩溃重启,重则在ASLR失效的环境下实现任意代码执行。

值得注意的是,上述配置组合并非NGINX的默认设置,需要运维人员主动修改配置才会触发。然而,在实际的企业生产环境中,为了处理大型HTTP请求或兼容特定上游服务而调整这些参数的情况并不罕见,这使得该漏洞的实际威胁面远比"需要特殊配置"这一表述所暗示的要广泛。

受影响版本

CVE-2026-42055覆盖的产品线最为复杂:

  • NGINX Plus 37.0.0至37.0.1版,以及R33至R36版
  • NGINX Open Source 1.31.1版,以及1.30.0至1.30.2版

除核心版本外,基于NGINX Open Source和NGINX Plus构建的所有衍生产品均受波及,包括NGINX Instance Manager、NGINX Gateway Fabric、NGINX Ingress Controller、F5 WAF for Nginx、F5 DoS for Nginx、Nginx App Protect WAF及Nginx App Protect DoS。

修复方案

官方已在以下版本中完成修复:NGINX Plus 37.0.2.1 / R36 P6,以及 NGINX Open Source 1.31.2 / 1.30.3。NGINX Gateway Fabric和Nginx Ingress Controller的最新代修复版本分别为2.6.4和5.5.1。

对于暂时无法完成版本升级的场景,F5建议采取两项配置层面的缓解措施:一是从配置中移除 ignore_invalid_headers off 指令,恢复默认的头部校验行为;二是large_client_header_buffers 的容量调整至2 MB以下,从根本上压缩攻击窗口的空间。


两个漏洞的共同特征与综合评估

这两个漏洞在技术层面上存在几个值得关注的共同点。首先,两者均无需攻击者持有任何凭据,完全由网络可达的匿名攻击者发起,大幅降低了攻击门槛。其次,它们的核心破坏机制都指向内存损坏——一个通过UAF,另一个通过堆溢出——这类内存安全漏洞在历史上被反复证明是实现远程代码执行的最可靠路径之一。第三,RCE场景的成立依赖ASLR被禁用或绕过,这在某种程度上构成了一定的利用门槛;但正如安全研究界的经验所示,ASLR的绕过技术(如内存信息泄露配合地址推算)已相当成熟,不应将其视为可靠的防线。

目前,F5公告指出尚未发现这两个漏洞被在野利用的公开报告,这为运维团队争取了短暂的窗口期。但业内普遍的共识是:高质量的漏洞公告一旦发布,相关的概念验证代码(PoC)通常会在数天内出现在公开渠道,攻击者将迅速跟进。窗口期极短,任何拖延都在直接扩大暴露面。


修复行动指南

对于所有受影响的运维和开发团队,建议按照以下优先级采取行动:

第一优先级——立即升级:​若当前部署的NGINX版本在受影响范围内,应立即更新至已修复版本。对于NGINX Open Source用户,目标版本为1.31.2(若运行1.30.x分支,则升级至1.30.3);NGINX Plus用户应升级至37.0.2.1R36 P6

第二优先级——部署临时缓解措施:​若因业务连续性或兼容性约束暂时无法升级,针对CVE-2026-42530应立即在所有监听指令中移除QUIC/HTTP3参数;针对CVE-2026-42055则需恢复 ignore_invalid_headers 为默认开启状态,并将大型头部缓冲区限制在2 MB以内。

第三优先级——强化监控:​在补丁完成部署前,应重点监控NGINX工作进程的异常重启事件、内存访问错误日志,以及针对 / 路径发起的异常大型头部请求,及时识别潜在的探测行为。

此外,对于当前尚无专属补丁的衍生产品(如部分版本的NGINX Instance Manager和NGINX App Protect),应密切关注F5官方安全公告页面的更新动态,确保在补丁可用后第一时间完成部署。


 

这次事件再次提醒我们,哪怕是市场份额最高、经历最长时间实战考验的基础设施软件,也并非固若金汤。Web服务器的安全基线必须随威胁态势动态维护,快速响应漏洞的能力,已经成为衡量一个组织网络韧性的核心指标之一。