找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3749

积分

0

好友

497

主题
发表于 5 小时前 | 查看: 5| 回复: 0

威胁简报

恶意软件

漏洞攻击

本漏洞是一个 RCE 概念验证,对应 CVE-2026-42945:NGINXngx_http_rewrite_module 于 2008 年引入的一个严重堆缓冲区溢出漏洞。该漏洞允许对使用 rewriteset 指令的服务器执行未经身份验证的远程代码。

此分支扩展了原始 PoC,增加了一个 ASLR 绕过链,将 NGINX 溢出与常见的同主机 LFI/任意文件读取原语组合使用。通过文件读取原语恢复 nginx 工作进程映射、libc 和实时 /proc/<worker>/mem,进而远程获取 system() 地址以及可用的堆目标。

早期版本的实验会故意使一个 nginx 工作进程崩溃,让服务生成核心转储文件,再通过文件读取原语获取并解析该转储文件,以恢复对 ASLR 敏感的进程状态,包括堆目标。在本仓库中,“无核心”仅表示“没有可读的崩溃核心转储文件”:当前默认路径使用实时 procfs 内存读取替代崩溃核心转储文件依赖,而保留的传统核心引导路径仍使用生成的工作进程核心转储文件。

该漏洞以及其他三个内存损坏问题(CVE-2026-42946、CVE-2026-40701、CVE-2026-42934)在只需单击一下即可将 NGINX 源代码纳入系统后,由 depthfirst 的安全分析系统自动发现:https://depthfirst.com/

NGINX 的脚本引擎使用两遍处理:首先计算所需的缓冲区大小,然后将数据复制到缓冲区。当替换操作包含 <value> 时,is_args 主引擎会设置该标志,但长度计算过程是在一个刚刚清零的子引擎上运行的。因此:rewrite?

  • 长度传递看到 is_args = 0 → 返回原始捕获长度。
  • 复制传递看到 is_args = 1 → 调用 ngx_escape_uriNGX_ESCAPE_ARGS 将每个可转义字节扩展为 3 个字节。

复制操作会将攻击者控制的 URI 数据溢出容量不足的堆缓冲区。利用跨请求堆的“风水”漏洞,攻击者会篡改相邻的 ngx_pool_tcleanup 指针(由于 URI 字节不能包含空字节,因此数据通过 POST 请求体喷洒),将其重定向到伪造的 ngx_pool_cleanup_s 调用 system(),从而在池销毁时触发调用。

项目地址:
https://github.com/Hamid-K/nginx-rift-private-lab




上一篇:cldflt.sys 本地提权漏洞仍未修复,PoC 公开
下一篇:昇腾NPU如何驱动生成式推荐落地?从FuXi模型到Performance Law的全栈实践
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-20 09:01 , Processed in 0.755051 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表