NGINX 曝严重 RCE 漏洞:潜伏代码库 18 年,全球数亿服务器面临风险
2026 年 5 月 13 日,安全研究机构 depthfirst 与 F5 联合披露了 NGINX 中一个编号为 CVE-2026-42945 的严重漏洞,CVSS v4.0 评分达 9.2。该漏洞属于堆缓冲区溢出类型,存在于 ngx_http_rewrite_module 模块中,最早可追溯至 2008 年引入的代码逻辑,在代码库中潜伏长达 18 年。Depthfirst 将该漏洞命名为 "NGINX Rift"。
漏洞技术原理
该漏洞的根源在于 NGINX rewrite 指令的脚本引擎两遍执行流程中的状态不一致。rewrite 引擎在处理替换字符串时,分两遍执行:第一遍用于计算输出长度并分配缓冲区,第二遍执行实际的数据拷贝。
当 rewrite 指令的替换字符串中含有问号(?)时,引擎内部的 is_args 标志位会被置为 1 且不会在后续处理中重置。这个未传播的标志位导致了关键的不一致:
- 第一遍(长度计算):使用全零初始化的子引擎执行,
is_args为 0,按未转义的 URI 长度分配内存缓冲区。 - 第二遍(数据拷贝):在主引擎上执行,
is_args为 1,引擎会对 URI 中的特殊字符进行转义扩展处理,每个字符可由 1 字节膨胀至 3 字节(如空格 →%20)。
实际写入量超出已分配的缓冲区大小,造成堆缓冲区溢出。

攻击链分析
该漏洞的利用条件相对宽松:
- 无需身份认证:攻击者只需向含有特定 rewrite 配置模式的服务器发送精心构造的 HTTP 请求即可触发。
- 堆布局操纵:攻击者通过控制连接时序实施堆内存布局操纵(heap feng shui),提高利用可靠性。
- 载荷注入:借助 POST 请求体注入任意二进制载荷。
- 代码执行:最终实现对 NGINX Worker 进程的远程代码执行。
触发条件需要目标服务器的 NGINX 配置中同时满足:使用未命名捕获组($1、$2 等)的 rewrite 指令,且替换字符串中包含问号。在常见的 K8s Ingress 和 API 网关配置中,这类模式并不少见。
受影响范围
受影响版本覆盖范围极广:
- NGINX Open Source 0.6.27 至 1.30.0 全系
- NGINX Plus R32 至 R36
- NGINX Instance Manager 2.16.0 至 2.21.1
- F5 WAF for NGINX 5.9.0 至 5.12.1
- NGINX App Protect WAF 4.9.0 至 4.16.0 和 5.1.0 至 5.8.0
- F5 DoS for NGINX
- NGINX Gateway Fabric
- NGINX Ingress Controller
由于上述产品被大量部署于云原生 Kubernetes 集群的 Ingress 层及 API 网关场景,实际暴露面涉及全球数以亿计的生产服务器。
修复与缓解
官方修复版本
- NGINX Open Source 用户应升级至 1.31.0 或 1.30.1
- NGINX Plus 用户应升级至 R36 P4 或 R32 P6
- 升级后需重启服务使补丁生效
临时缓解措施
对于暂时无法升级的用户,可通过以下方式规避触发条件:将配置中所有未命名捕获组($1、$2 等)替换为命名捕获组(如 ?<name>pattern 语法)。
排查建议
- 确认已安装的 NGINX 版本是否在受影响区间(0.6.27 - 1.30.0)
- 在配置文件中检索同时含有未命名捕获组与问号替换字符串的 rewrite 指令
- 优先处理暴露在公网的 Ingress 和 API 网关节点
影响判断
一个潜伏 18 年的漏洞被披露,影响面覆盖了从 0.6.27 到 1.30.0 的几乎所有 NGINX 版本。考虑到 NGINX 在全球 Web 服务器和反向代理市场的主导地位(尤其在 Kubernetes Ingress 和微服务 API 网关场景中),这个漏洞的实际威胁等级与它的 CVSS 评分相符。
临时缓解方案(替换未命名捕获组)虽然简单,但在大型分布式部署中全面排查和修改配置文件需要时间。建议运维团队优先关注公网暴露面的 NGINX 实例,尽快完成版本升级。
来源:Depthfirst · NVD
- 苹果警告:iOS 13/14 用户需立即升级至 iOS 153/20/2026
- DarkSword 被披露:Safari 打开恶意网页即可被入侵,旧版 iPhone 该升级了3/19/2026
- 苹果锁定模式近四年零攻破记录3/28/2026
- 装个App等24小时:Google给Android侧载上了把锁3/20/2026
- Google公布Android侧载新规:安装未验证应用须等24小时3/20/2026
- GrapheneOS 拒绝把操作系统做成身份核验入口3/24/2026
- 白宫官方 App 逆向拆解:付费墙绕过、休眠定位追踪与供应链风险3/28/2026
- Android 17 后量子加密落地:系统可信根的量子抗性升级3/26/2026
- OpenAI 开始给内部编码代理配“监工”,数千万轨迹里未见最高风险失调3/21/2026
- ICAO 紧急限制航班充电宝:每人最多 2 个,机上禁充3/28/2026
- Apifox 桌面端被曝遭供应链投毒,恶意脚本可窃取 SSH 密钥与 Git 凭证3/25/2026
- Vercel 确认安全事件,暗网卖家声称掌握核心访问权限4/19/2026
- 谷歌推出 DBSC 技术:通过设备绑定强化 Cookie 安全防护4/11/2026
- Apifox 承认遭遇供应链攻击后,开发团队现在最该做的是全面轮替凭证3/26/2026
- LLM 供应链安全警钟:超 20% 免费 API 路由器存在恶意行为4/10/2026
- ShinyHunters 入侵 Rockstar Games,通过第三方工具窃取 Snowflake 数据4/14/2026
- 金山毒霸与 360 安全卫士内核驱动曝高危漏洞4/13/2026
- CPU-Z 官网遭黑客入侵,部分下载包被植入恶意代码4/10/2026
- Claude 曝出「身份混淆」缺陷:AI 代理误认自身推理为用户指令,触发安全风险4/10/2026
- 逆向 Claude Code 请求签名:cch 是怎么算出来的4/3/2026
- 深圳比亚迪坪山园区立体车库起火,官方称无人员伤亡4/14/2026
- PyPI 包 lightning 遭供应链攻击,800 万月下载量的 ML 框架暴露开发者凭证5/2/2026
- 九年 Linux 高危漏洞被披露:CVE-2026-31431 "Copy Fail" 允许本地提权至 root4/30/2026
- axios 供应链攻击:维护者账号遭劫持,恶意版本植入远程控制木马3/31/2026
- Anthropic 的终极安全模型 Mythos,上线当天就被未授权访问了4/23/2026
- Anthropic MCP 协议架构漏洞波及 1.5 亿次下载,20 万台服务器面临 RCE 风险4/21/2026
- 以太坊 ETH Rangers 识别百名朝鲜渗透者,追回 580 万美元4/17/2026
- Apple 修复 iOS 通知数据残留漏洞(CVE-2026-28950)4/22/2026
- 360 AI 智能体发现两项全球高危 Windows/Office 漏洞4/17/2026
- Bitwarden CLI npm包遭供应链攻击,恶意版本窃取GitHub令牌和SSH密钥4/23/2026