NGINX Rift — CVE-2026-42945 漏洞扫描与验证工具
·
工具介绍
NGINX Rift 是一款针对 CVE-2026-42945(NGINX ngx_http_rewrite_module 堆溢出漏洞)的开源扫描与验证工具。支持远程网络指纹扫描和本地深度配置审计,帮助安全团队快速排查 NGINX 环境中的潜在风险。
漏洞概述
| 属性 | 详情 |
|---|---|
| CVE 编号 | CVE-2026-42945 |
| 漏洞类型 | 堆溢出 (Heap Overflow) |
| 影响组件 | NGINX ngx_http_rewrite_module |
| 影响版本 | NGINX 开源版 0.6.27 ~ 1.30.0 / NGINX Plus R32 ~ R36 |
| 修复版本 | NGINX 1.30.1 (stable) / 1.31.0 (mainline) / NGINX Plus R32 P6+ |
| 危害等级 | 高危 — 可导致拒绝服务 (DoS) 和远程代码执行 (RCE) |
触发条件(三者需同时满足):
- NGINX 配置中存在
rewrite指令 - 替换 URL 中包含
?(查询字符串分隔符) - 替换 URL 中引用了未命名捕获组(如
$1、$2)
存在漏洞的配置示例:
rewrite ^/api/(.*)$ /internal?id=$1 last;
安全配置(使用命名捕获组):
rewrite ^/api/(?<myid>.*)$ /internal?id=$myid last;
功能特性
- 远程扫描模式 (Scan) — 通过 HTTP 响应头指纹识别 NGINX 版本,支持单目标和批量扫描
- 本地验证模式 (Verify) — 三步立体审计:二进制版本检测 → 配置文件语义分析 → K8s Ingress 资源探测
- OS 补丁回溯检测 — 联动
dpkg/rpm包管理器,检测发行版是否已通过 Backport 修复漏洞 - K8s 云原生支持 — 自动发现 Kubernetes Ingress 资源中的危险
rewrite-target注解 - 零依赖 — 纯 Go 标准库实现,单文件编译,无第三方依赖
- 跨平台 — 支持 Windows / Linux / macOS (amd64 + arm64)
安装
方式一:下载预编译二进制
从 Releases 页面下载对应平台的二进制文件。
方式二:源码编译
git clone https://github.com/nu0l/NGINX-Rift.git
cd NGINX-Rift
# 单平台编译
go build -o nginx_rift_scanner nginx_rift_scanner.go
# 全平台交叉编译
chmod +x build.sh && ./build.sh
使用方法
查看帮助
./nginx_rift_scanner -h
Scan 模式 — 远程网络扫描
# 扫描单个目标
./nginx_rift_scanner scan -u http://example.com
# 批量扫描(从文件读取 URL 列表)
./nginx_rift_scanner scan -f url.txt
url.txt 每行一个 URL,例如:
http://target1.com
https://target2.com
target3.com
Verify 模式 — 本地深度审计
# 自动查找默认 NGINX 配置路径
./nginx_rift_scanner verify
# 指定配置文件路径
./nginx_rift_scanner verify -p /etc/nginx/nginx.conf
Verify 模式执行三步审计:
- 二进制版本检测 — 运行
nginx -v获取版本,并检查 OS 包管理器的 Backport 补丁 - 配置文件分析 — 递归解析 NGINX 配置(含
include指令),识别危险的 rewrite 规则 - K8s Ingress 探测 — 若检测到
kubectl,自动扫描集群中所有 Ingress 资源
修复建议
| 优先级 | 方案 | 说明 |
|---|---|---|
| P0 | 升级 NGINX | 升级至 1.30.1+ / 1.31.0+ / NGINX Plus R32 P6+ |
| P0 | OS 包管理器更新 | apt-get upgrade nginx 或 yum update nginx |
| P1 | 紧急配置缓解 | 将 rewrite 中的 $1 改为命名捕获组 $name,无需停机 |
| P2 | K8s Ingress 修复 | 升级 Ingress Controller 并修改 rewrite-target 注解 |
| P3 | 纵深防御 | 配置 server_tokens off; 隐藏版本指纹 |
工具下载
https://github.com/nu0l/NGINX-Rift/tree/main
更多推荐

所有评论(0)