F5 在 10 月 14 日发布带外安全公告 K000163408,一次性修掉 NGINX 数据面的 11 个缺陷,其中三个按 CVSS 4.0 打分为 9.2。未认证攻击者用一条畸形 HTTP 请求就能打崩 worker 进程;在 ASLR 关闭或可被绕过的机器上,还能直接执行任意代码。
事件概述
三个关键漏洞分别是 CVE-2026-15176、CVE-2026-93479、CVE-2026-97205,全部 9.2 分。受影响产品不止开源版:NGINX Plus 37.0.0 至 37.0.4、NGINX Open Source 1.0.0 至 1.31.6、NGINX Ingress Controller(LTS 与 3.x 至 5.x)、NGINX Gateway Fabric 1.x 与 2.x、NGINX Instance Manager 2.x,以及 F5 WAF for NGINX、NGINX App Protect WAF 与 App Protect DoS。
同一份公告还修了 ssl、http_v3 与 js 模块的多个缺陷;评分上存在分歧:nginx.org 把五个核心缺陷标为 Medium,F5 把其中三个标成 9.2 Critical。
技术细节
- CVE-2026-15176:ngx_http_core_module 堆缓冲区溢出。location 块里同时使用 alias 指令与 $request_filename 变量、并配合 rewrite 时触发,构造的请求可越界写。
- CVE-2026-97205:核心模块 use-after-free。开启异步文件 I/O(aio)且启用 Server Side Includes 的情况下,处理特定 include 指令会破坏内存。
- CVE-2026-93479:map 指令加正则的堆溢出。配置在 map 输出变量之前引用未命名捕获($1 这类)时越界。
三个漏洞都要特定配置才成立,这也是评分分歧的由来;一旦命中就是进程级后果:请求可让 worker 崩溃、反复重启形成拒绝服务,关闭 ASLR 或可被绕过时则以 nginx 用户权限执行任意代码。
数据面的价值在于位置:TLS 通常在 NGINX 上终结,明文口令、会话 cookie、API token 与私钥都躺在同一个进程内存里。
影响评估
F5 表示尚未发现在野利用,截至 10 月 15 日三个 CVE 都不在 CISA KEV 名录里。但公网 NGINX 部署以百万计,F5 客户含 80% 的财富 500 企业。
F5 本身是高频靶标:5 月的 CVE-2026-42945 就出在 rewrite 模块并公开了 PoC,过去五年 CISA 标记过 8 个 F5 在野漏洞,4 个与勒索相关。对国内站长更现实的风险是版本惯性:面板与一键脚本常年停在 1.2x,容器镜像不会自己升,设备内嵌实例没人管。
修复建议
- 升级到 NGINX Open Source 1.30.6 或 1.31.7;Plus、Ingress Controller、Gateway Fabric、Instance Manager 升到 F5 对应修复版本。
- 无法立即升级时:拆掉 alias 与 $request_filename 的组合;关闭 aio 与 SSI 页面服务;map 里的正则改用具名捕获并在匹配块内使用;确认 ASLR 开启;worker 进程以最小权限运行。
- 盘点含反代、负载均衡、K8s ingress、面板自带 nginx 与设备内嵌实例。
- 检测信号:worker 反复重启、respawn 日志增多、400 与 414 短时飙升。
- 别把 WAF 当补丁:它能挡已知 payload 形态,拦不住配置组合触发的越界写本身。