Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-42945 — CVE-2026-42945(nginx-rift)的本地风险评估脚本。检查版本、易受攻击的 rewrite+set 配置、ASLR 状态以及编译加固情况,以确定实际是 RCE 还是 DoS 风险。 | Kitploit
工具/GitHubGitHub/chenqin231/cve-2026-42945
漏洞扫描器漏洞分析漏洞利用配置审计Web安全二进制分析
GitHubchenqin231/cve-2026-42945

CVE-2026-42945

CVE-2026-42945(nginx-rift)的本地风险评估脚本。检查版本、易受攻击的 rewrite+set 配置、ASLR 状态以及编译加固情况,以确定实际是 RCE 还是 DoS 风险。

查看仓库
1104个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-42945 实际风险评估脚本

针对 CVE-2026-42945(Nginx Rift)的本地风险评估工具。不同于直接告诉你"版本受影响就危险",这个脚本会逐层检查真正决定风险的三个条件,给出符合你实际情况的结论。


背景

CVE-2026-42945 是 nginx ngx_http_rewrite_module 中一个存在了 18 年的堆缓冲区溢出漏洞(CWE-122),CVSS 4.0 评分 9.2。但公告中有一句关键的限定:

"Code execution possible on systems without ASLR protection"

RCE 成立需要同时满足三个条件:

  1. nginx 配置了特定的 rewrite + set 指令组合
  2. 系统关闭了 ASLR(现代 Linux 默认开启)
  3. nginx 堆地址字节恰好全部是 URI 安全字符

缺少任何一个,最坏结果是 worker 进程崩溃后自动重启(DoS),而非服务器被接管。

详细分析见:《nginx 藏了 18 年的炸弹,9.2 分漏洞到底炸没炸你的服务器?》


快速使用

# 运行(需要 sudo 读取 nginx 完整配置)
sudo bash check_cve_2026_42945.sh

检测项目

脚本依次检查以下四项,任意一项不满足即提前退出并给出结论:

检测项说明
nginx 版本受影响范围:0.6.27 – 1.30.0
漏洞触发配置同一 location 块内同时存在含 ? 的 rewrite 和捕获组 set
ASLR 状态读取 /proc/sys/kernel/randomize_va_space
编译加固检测 -fcf-protection / FORTIFY_SOURCE / Full RELRO / 栈保护

输出示例

情况一:版本受影响,但无漏洞触发配置(最常见)

[*] nginx 版本:1.24.0
[!] 版本 1.24.0 在受影响范围内,继续检查触发条件...
[*] 扫描 nginx 配置(检查 rewrite+set 漏洞配置组合)...
[✓] 未发现漏洞触发配置(rewrite+set 组合)

  结论:版本受影响,但无漏洞触发配置,实际风险极低
  建议:规划升级到 1.30.1 / 1.31.0,无需紧急处理

情况二:有漏洞配置,ASLR 开启,编译加固完善

[!] 版本 1.24.0 在受影响范围内,继续检查触发条件...
[!] 发现漏洞触发配置:
    → location ~ ^/api/(.*)$ {
[✓] ASLR 已启用(级别 2,完整随机化)
    → RCE 可靠利用所需前提不满足,最坏情况为 worker 进程崩溃(DoS)
[✓] 检测到 -fcf-protection(Intel CET 控制流保护)
[✓] 检测到 FORTIFY_SOURCE=3
[✓] 检测到 Full RELRO(GOT 只读)
[✓] 检测到栈保护(stack-protector)

  风险等级:低
  建议:在下次维护窗口升级到 nginx 1.30.1 / 1.31.0

情况三:有漏洞配置,ASLR 关闭

[!] 发现漏洞触发配置:
    → location ~ ^/api/(.*)$ {
[✗] ASLR 已关闭!RCE 风险显著上升

  风险等级:高(DoS 确定 / RCE 可能)

  立即行动:
  1. 临时移除或修改触发漏洞的 rewrite+set 配置
  2. 确认 ASLR 开启:echo 2 | sudo tee /proc/sys/kernel/randomize_va_space
  3. 升级 nginx:apt install nginx  或  编译安装 1.30.1+

风险等级说明

等级含义建议处理节奏
无影响未安装 nginx 或版本已修复无需操作
极低版本受影响但无触发配置下次例行维护时升级
低有触发配置,但 ASLR + 编译加固完善下次维护窗口升级
中有触发配置,防护存在缺口尽快升级,可用性有风险
高有触发配置 + ASLR 关闭 + 加固缺失立即处理

修复版本

产品受影响版本修复版本
NGINX 开源版0.6.27 – 1.30.01.30.1 / 1.31.0
NGINX PlusR32 – R36R36 P4 / R35 P2 / R32 P6
# Ubuntu / Debian
sudo apt update && sudo apt install nginx

# 验证版本
nginx -v

官方公告:https://my.f5.com/manage/s/article/K000161019


测试覆盖

脚本在以下场景均经过实际验证:

  • nginx 未安装 → 直接退出
  • nginx 版本不在受影响范围(1.31.0)→ 不受影响
  • 版本受影响,无触发配置 → 极低风险
  • 版本受影响,有触发配置,ASLR 开启,加固完善 → 低风险
  • 版本受影响,有触发配置,ASLR 关闭 → 中/高风险

测试环境:Ubuntu 22.04 LTS,nginx 1.24.0 (Ubuntu 官方包)


局限性

  • 配置检测基于正则匹配,复杂的多层 include 结构可能存在漏检(脚本通过 nginx -T 展开所有 include,覆盖绝大多数情况)
  • 不检测 OpenResty / Tengine 等 nginx 衍生版本
  • 仅适用于 Linux 系统

License

MIT

下载工具