Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-42945 — CVE-2026-42945 的概念验证漏洞利用程序,针对 NGINX 中 `rewrite`/`set` 指令的堆缓冲区溢出,可导致通过精心构造的请求实现拒绝服务(DoS)及潜在远程代码执行(RCE)。 | Kitploit
工具/GitHubGitHub/imsre9/cve-2026-42945
漏洞分析漏洞利用Web安全渗透测试学习与教育二进制利用
GitHubimsre9/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 的概念验证漏洞利用程序,针对 NGINX 中 `rewrite`/`set` 指令的堆缓冲区溢出,可导致通过精心构造的请求实现拒绝服务(DoS)及潜在远程代码执行(RCE)。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-42945: NGINX Rift 堆缓冲区溢出漏洞

概述

CVE-2026-42945 是 NGINX 服务器中的一个严重堆缓冲区溢出漏洞,被称为 "NGINX Rift"。该漏洞存在于 NGINX 的 rewrite 和 set 指令处理逻辑中,当特定配置条件满足时,攻击者可以通过构造恶意请求触发堆溢出,导致拒绝服务(DoS)甚至潜在的远程代码执行(RCE)。

漏洞类型:堆缓冲区溢出 风险等级:高危 CVE ID:CVE-2026-42945


影响范围

  • 受影响版本:NGINX 0.6.27 ~ 1.30.0
  • 不受影响版本:NGINX 1.31.0 及更高版本

修复版本

建议立即升级到以下版本之一:

  • NGINX 1.31.0 或更高稳定版本
  • 各发行版厂商提供的安全补丁版本

触发条件

漏洞触发需要同时满足以下两个条件:

  1. 配置条件:NGINX 配置中同时使用:

    • rewrite 指令(替换字符串中包含 ? 字符)
    • set 指令(引用 rewrite 的正则捕获组,如 $1, $2)
  2. 请求条件:请求 URI 中包含可转义字符(如 +, &, % 等)

原理说明:

  • rewrite 指令设置 e->is_args = 1(永不重置)
  • set 指令的长度计算阶段使用全零子引擎(le.is_args = 0)
  • NGINX 解码 %25 为 %,但 ngx_escape_uri 重新编码为 %25(3字节)
  • 每个 %25 字符从 1 字节扩展为 3 字节,导致写入超出缓冲区边界

利用方式

PoC 测试

# 使用项目中的测试脚本
python3 CVE-2026-42945/CVE-2026-42945-test.py --host cve.test.com --port 80

漏洞验证流程

  1. 发送正常请求确认服务器运行状态
  2. 发送包含少量 %25 字符的请求进行小规模测试
  3. 发送大量 %25 字符(如 2000 个)触发缓冲区溢出
  4. 检测服务器是否崩溃或返回异常响应(500/502 错误)
  5. 检查服务器是否自动恢复(master 进程 fork 新 worker)

测试结果分析

单层架构 POC 结果

在单层 NGINX 配置中测试结果会触发漏洞:

崩溃日志分析:

  • Worker 进程因 SIGSEGV(信号)崩溃
  • 崩溃发生在 ngx_http_script_flush_no_cacheable_variables 函数
  • 崩溃阶段:ngx_http_core_rewrite_phase

双层架构 POC 结果

在双层 NGINX(layer1 转发 + layer2 业务)配置中测试结果如下:

配置场景layer1 结果layer2 结果原因分析
rewrite 无 break + proxy_pass❌ 触发漏洞(404)❌ 无请求到达rewrite 后继续执行 set 触发堆溢出,worker 崩溃
rewrite 有 break + proxy_pass✅ 正常(200)⚠️ 可能触发漏洞break 终止 set 执行,请求正常转发到后端

文件说明

文件说明
CVE-2026-42945/CVE-2026-42945-test.py漏洞测试 PoC 脚本,用于验证目标是否存在漏洞
single_layer_test/single_layer_nginx.conf单层架构易受攻击的 NGINX 配置示例
single_layer_test/image.png漏洞原理示意图
single_layer_test/test.log测试日志文件
double_layer_test/layer1_nginx.conf双层架构第一层(转发层)NGINX 配置
double_layer_test/layer2_nginx.conf双层架构第二层(业务层)NGINX 配置

参考资料

  • NGINX 官方安全公告
  • CVE-2026-42945 MITRE 详情
  • NVD - CVE-2026-42945

免责声明

本项目仅供安全研究和教育目的使用。使用者必须遵守所在国家和地区的法律法规。作者不对任何未经授权的滥用行为负责。

禁止用于非法攻击!


Last Updated: 2026-05-19

下载工具