NGINX Rift 是一款针对 NGINX 服务端核心组件的高危漏洞(CVE-2026-42945)开发的远程代码执行(RCE)概念验证工具。该漏洞存在于 NGINX 自2008年就引入的重写模块(ngx_http_rewrite_module)中,属于典型的堆缓冲区溢出缺陷,攻击者无需任何身份认证,仅通过构造恶意 HTTP 请求即可触发,最终在目标服务器上执行任意系统命令。它不是普通扫描器,而是一个经过完整链路验证、具备实际利用能力的安全研究工具,代表了当前自动化漏洞挖掘与精准利用技术的前沿水平。
核心功能
- 精准复现 CVE-2026-42945:完整实现“长度计算 pass”与“数据拷贝 pass”间的
is_args状态不一致导致的堆溢出逻辑 - 跨请求堆风水(Heap Feng Shui)调度:通过精心控制多个 HTTP POST 请求的载荷大小与顺序,在内存中布局关键结构体,为利用创造稳定条件
- 可控函数指针劫持:将溢出数据导向相邻内存中的
ngx_pool_t.cleanup指针,替换为指向伪造的ngx_pool_cleanup_s结构 - 无 NULL 字节绕过设计:巧妙利用 URI 编码限制(不能含 \0),通过 POST body 注入 shell 命令字符串,规避传统 ROP/Shellcode 的空字节障碍
- 自动化 payload 生成:内置适配不同 NGINX 版本(1.18–1.25)的偏移计算与地址喷射策略,降低手动调试门槛
- 配套技术文档详实:附带漏洞原理图解、内存布局示意图及 exploit 调试日志样例,适合深入学习漏洞利用机制
适合哪些人用
本工具主要面向三类专业用户:一是网络安全研究人员与红队工程师,可用于真实环境下的渗透测试与漏洞验证;二是 NGINX 运维与中间件安全负责人,可借助其快速评估自身业务是否暴露于该高危风险;三是高校与安全培训机构的教学实践者,作为理解“堆溢出→指针劫持→函数调用劫持”这一经典利用链的优质教学案例。请注意:该工具严禁用于未授权系统,仅限合法授权测试及安全研究场景。
快速上手
使用前请确保目标 NGINX 服务已启用 rewrite 或 set 指令(如配置中存在 rewrite ^/(.*)$ /index.php?$1 break; 类规则)。安装与运行步骤如下:
- 克隆项目:
git clone https://github.com/DepthFirstDisclosures/Nginx-Rift.git - 进入目录并安装依赖:
cd Nginx-Rift && pip install -r requirements.txt - 执行探测与利用:
python rift.py --target http://example.com --command "id"(将example.com替换为目标域名) - 如需调试,添加
--verbose参数查看每步内存操作细节;支持自定义 POST 大小、喷射次数等高级参数
首次运行建议先用 --dry-run 模式确认目标响应特征,避免误触发生产环境告警。
项目信息
exploit for CVE-2026-42945
编程语言:Python|Star 数:620|开源协议:暂未声明(项目页面未提供 LICENSE 文件,建议仅作研究参考)|GitHub 项目地址
如果你正在研究现代 Web 服务器底层内存安全、想亲手复现一个从 2008 年潜伏至今的“幽灵漏洞”,Nginx-Rift 不仅是工具,更是一份写给安全从业者的深度技术教科书。


