潜伏18年的NGINX高危漏洞影响与修复全解
2026 年 5 月 13 日,F5 官方披露 NGINX 存在CVE-2026-42945高危漏洞,CVSS v4.0 评分9.2 分(Critical),源于 ngx_http_rewrite_module 重写模块的堆缓冲区溢出缺陷,该漏洞已潜伏近 18 年,影响 2008 年 0.6.27 版本至 1.30.0 全系列 NGINX,覆盖全球超三分之一 Web 服务器,威胁极大。
一、漏洞核心信息
漏洞编号:CVE-2026-42945
漏洞类型:堆缓冲区溢出(Heap Buffer Overflow)
威胁等级:Critical(9.2 分)
利用条件:无需认证,单条特制 HTTP 请求即可触发
危害:远程代码执行(RCE)、服务器接管、拒绝服务
受影响模块:ngx_http_rewrite_module(生产环境默认启用)
二、影响范围
开源 NGINX:0.6.27 ~ 1.30.0 全版本
NGINX Plus:R36 P3 及以下、R32 P5 及以下
特殊说明:rewrite 规则中使用未命名正则捕获(如 $1、$2)时必受影响,该配置为行业通用写法。
三、漏洞原理简析
漏洞根源是 rewrite 脚本引擎两阶段处理的状态不一致,未命名正则捕获组在转义处理时,未正确校验长度,引发堆缓冲区溢出。攻击者构造恶意请求,可篡改内存、劫持进程,实现无认证 RCE,直接控制服务器。
四、修复与缓解方案
1. 官方修复(推荐)
开源版:升级至1.30.1或1.31.0及以上


- 商业版:升级至 R36 P4、R32 P6 及以上
- 升级后重启 NGINX,补丁立即生效。
- 2. 临时缓解(无法升级时)
- 将 rewrite 规则中的未命名捕获改为命名捕获,规避漏洞代码路径:
- # 不安全(未命名捕获)
- rewrite ^/article/(\d+)$ /show?id=$1 break;
- # 安全(命名捕获)
- rewrite ^/article/(?<id>\d+)$ /show?id=$id break;
- 3. 加固建议
- 禁用非必要模块,最小化攻击面
- WAF 拦截异常 rewrite 匹配请求
- 定期巡检版本与配置,及时更新补丁
- 五、安全警示
- NGINX 作为反向代理、负载均衡核心组件,是互联网基础设施的关键一环。此漏洞潜伏 18 年才被发现,说明基础组件的隐蔽漏洞风险极高。建议运维与开发团队立即自查版本、升级修复,避免服务器被入侵、数据泄露或业务瘫痪。
- 安全无小事,及时更新、规范配置,才能守住服务器安全防线。