全球互联网关键基础设施NGINX出现高危漏洞 仅需发送特制HTTP请求即可拿下服务器

2026-05-15 10:13:20 1 37

全球互联网关键基础设施 NGINX 出现高危安全漏洞,攻击者只需要向暴露的 NGINX 服务器发送特制 HTTP 请求即可拿下服务器。该漏洞还是在 2008 年引入的,从 NGINX 0.6.27~1.30.0 版均受漏洞影响,使用 NGINX 的用户需尽快升级到 1.30.1 版或 1.31.0 版。

F5 旗下的 NGINX 是全球使用量极高的反向代理服务器,NGINX 也是全球互联网的关键基础设施,现在安全研究公司披露该软件出现的高危安全漏洞,该漏洞编号为 CVE-2026-42945,NGINX 脚本引擎中存在已经 18 年的堆缓冲区溢出问题。

攻击者只需要向暴露的 NGINX 服务器发送经过精心构造的 HTTP 请求即可远程拿下服务器,NGINX 在全球网站服务器和反向代理核心领域占有率将近 30%,因此这个漏洞可能会波及到海量的互联网服务。



影响 NGINX 本体及多个衍生产品:

该漏洞最初还是在 2008 年发布的 NGINX 0.6.27 版中引入的,之后漏洞长期没有被发现并潜伏到现在,该漏洞影响 NGINX 0.6.27~1.30.0 版,同时也影响 F5 公司向商业客户提供的多种 NGINX 衍生产品。受影响的衍生产品包括但不限于 NGINX WAF、F5 WAF、NGINX Gateway Fabric、NGINX Ingress Controller 等。

而漏洞触发条件非常隐蔽,当 NGINX 配置文件中同时出现如下两种指令时漏洞就会被激活:

发现该漏洞的研究团队指出,漏洞根源在于 ngx_http_rewrite_module 的脚本引擎 (ngx_http_script.c) 中,当重写指令带问号时会设置持久的 is_args 标志,但在后续的 set 指令长度计算阶段,引擎使用的是新的清零的子引擎,这导致长度计算时跳过 URL 转义逻辑。

而实际复制阶段又使用主引擎,触发 ngx_escape_uri 函数对 +、& 等字符进行转义,缓冲区按未转义长度分配却写入膨胀后的内容,最终造成可控的堆缓冲区溢出。

F5 已发布 NGINX 1.31.0/1.30.1 版进行修复:

接到漏洞通报后 F5 很快就确认漏洞,在 F5 准备好修复程序后研究人员公开发布漏洞,所以当前使用 NGINX 及其衍生产品的用户都需要升级到不受影响的最新版,其中开源版的 NGINX 需升级到 1.30.1 版或 1.31.0 版,其他旧版本例如 0.6.27~1.30.0 版均受漏洞影响。

有关其他衍生产品的版本信息请查看 F5 安全公告:https://my.f5.com/manage/s/article/K000160932

关于作者

sasser81篇文章264篇回复

评论1次

要评论?请先  登录  或  注册
  • 1楼
    1 小时前

    18年的洞,这波F5反应算快了,不过漏洞触发条件写得很清楚——重写指令带问号同时出现两种指令,这配置痕迹太明显了,红队打点的时候先扫nginx版本号,再过一遍配置文件正则匹配rewrite规则,基本就能快速筛选目标。

    升级1.30.1或1.31.0就行,问题不大。倒是衍生产品那边值得关注——WAF和Ingress Controller这种中间件,很多人装了不一定记得升级,后续打红队的时候可以把这个当入口,尤其是那些运维懒得动的大企业内网,nginx基本是标配。

    还有个点:这洞利用门槛低、稳定性高,exp出来估计很快,批量poc应该也不远,先把暴露面收一收。