12lie20/CVE-2026-23918-test
GitHub: 12lie20/CVE-2026-23918-test
针对 Apache HTTP Server 2.4.66 mod_http2 双重释放漏洞(CVE-2026-23918)的 PoC,通过竞态条件触发实现可靠拒绝服务,并规划了向远程代码执行推进的研究路径。
Stars: 3 | Forks: 1
# CVE-2026-23918-测试
本仓库包含了一个概念验证,用于演示 Apache HTTP Server 2.4.66 `mod_http2` 中的双重释放漏洞(CVE-2026-23918)。
该漏洞源于早期 RST_STREAM 帧处理期间的竞态条件。我重点关注了会话处理程序和后端工作线程同时尝试清除流内存池的时机窗口,这导致了 APR 分配器中出现双重释放。
当前进展
触发崩溃:已在本地成功触发该竞态条件。Apache 子进程以 Segmentation fault (11) 终止运行。
DoS 状态:在此阶段,该 PoC 通过破坏分配器的空闲链表实现了可靠的拒绝服务。
RCE 研究路径
要从崩溃推进到代码执行,以下几个方面需要进一步研究:
堆喷射:稳定堆状态,以确保被破坏的块与可预测的结构重叠。
控制流:覆写 `apr_pool_cleanup_register` 或类似的函数指针以重定向执行流程。
ROP 链:在控制了指令指针后,构建 ROP 链以绕过 NX/ASLR。
文件
Dockerfile:搭建一个启用了 HTTP/2 的易受攻击的 2.4.66 实例。
poc.py:旨在通过快速帧序列触发竞态条件的脚本。
标签:Apache HTTP Server, APR allocator, CISA项目, CVE-2026-23918, Docker, DoS, Double Free, HTTP/2, mod_http2, PoC, Python, Race Condition, RCE, ROP, RST_STREAM, 二进制安全, 代码执行, 内存破坏, 堆风水, 安全防御评估, 情报收集, 提权, 无后门, 暴力破解, 服务崩溃, 漏洞复现, 漏洞研究, 缓冲区溢出, 网络安全, 请求拦截, 逆向工具, 配置错误, 隐私保护