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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-23918-poc — CVE-2026-23918的概念验证漏洞利用程序,针对Apache mod_http2中的一个双重释放漏洞,可实现未认证的远程代码执行。包含侦察、线程化的HEADERS+RST_STREAM突发以及RCE风险评分。 | Kitploit
工具/GitHubGitHub/bencodin/cve-2026-23918-poc
侦察漏洞分析漏洞利用Web应用程序漏洞利用渗透测试远程访问工具
GitHubbencodin/cve-2026-23918-poc

CVE-2026-23918-poc

CVE-2026-23918的概念验证漏洞利用程序,针对Apache mod_http2中的一个双重释放漏洞,可实现未认证的远程代码执行。包含侦察、线程化的HEADERS+RST_STREAM突发以及RCE风险评分。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-23918 — Apache mod_http2 双重释放

影响: Apache HTTP Server 2.4.66 搭配 mod_http2 + Event MPM
修复版本: Apache 2.4.67 (mod_h2 v2.0.37)
CVSS 3.1: 8.8 高 — 可能实现未认证的远程代码执行
CWE: CWE-415 (双重释放)


漏洞描述

Apache 2.4.66 中的 mod_http2 在 h2_mplx.c:m_stream_cleanup() 函数中存在一个双重释放漏洞。当客户端在同一流上先发送 HEADERS 帧紧接着发送 RST_STREAM 时,问题便会出现。如果时机恰好,该流会被两次推入 m->spurge 清理数组。当 mplx 被销毁时,APR 池被释放两次,导致堆损坏并引发 SIGABRT 或 SIGSEGV。

Apache 在 mod_h2 v2.0.37 中通过引入 add_for_purge() 修复了此问题,该函数执行简单的去重检查,防止同一流被两次添加。

root@kitploit:~
// Vulnerable (< v2.0.37)
APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;  // can happen twice

// Fixed (v2.0.37+)
static int add_for_purge(h2_mplx *m, h2_stream *stream) {
    for (int i = 0; i < m->spurge->nelts; ++i)
        if (APR_ARRAY_IDX(m->spurge, i, h2_stream*) == stream)
            return FALSE;
    APR_ARRAY_PUSH(m->spurge, h2_stream *) = stream;
    return TRUE;
}

PoC 工作原理

默认情况下,脚本对目标执行三个阶段:

阶段功能描述
1 — 侦察检测 Apache 版本、通过 ALPN 检测 HTTP/2 支持、MPM 类型
2 — 利用发送线程化的 HEADERS+RST_STREAM 突发,依次尝试内联模式和分段模式
3 — RCE 评估测量崩溃一致性并评估风险等级

RCE 得分由三个可远程检测的信号计算而来。第一,是否运行着 Apache 2.4.66。第二,是否使用了 Event 或 Worker MPM(mod_http2 拒绝与 Prefork 一起启动,因此如果 HTTP/2 工作,则说明是线程化 MPM)。第三,崩溃的确定性——第一轮就崩溃意味着堆损坏可控且可重现,这正是 RCE 所需的条件。


安装

root@kitploit:~
pip install hpack requests

使用方法

root@kitploit:~
# Full PoC on a single target (default behavior)
python poc.py -t 192.168.1.100

# Increase pressure with more rounds, bigger bursts and more threads
python poc.py -t 192.168.1.100 -n 20 -b 500 -w 5

# Passive check only, nothing is sent to the target
python poc.py -t example.com --check-only

# Scan a whole list of targets
python poc.py -l sites.txt -o results.json

# Passive check on a list
python poc.py -l sites.txt --check-only

# Generate a Markdown report after the run
python poc.py -t target.com --report report.md

选项

目标文件格式

root@kitploit:~
# one target per line, comments are ignored
192.168.1.100
example.com
example.com:8443
https://example.com
http://example.com:8080

RCE 风险等级


如何修补

正确的修复方法是升级 Apache 到 2.4.67 或更高版本。如果无法立即升级,禁用 HTTP/2 可以完全消除攻击面:

root@kitploit:~
# Before
Protocols h2 http/1.1

# After (disables HTTP/2)
Protocols http/1.1

免责声明

此工具仅用于授权的安全测试和研究。在使用前,请确保已获得针对目标的明确书面授权。作者不对滥用行为承担任何责任。

下载工具
参数默认值描述
-t—单个目标(主机名或 IP)
-l—包含目标列表的文件,每行一个
-p443端口
-n10利用轮次数量
-b200每轮 HEADERS+RST 对的数量
-w3每轮并行连接数
-d0.1轮次之间的延迟(秒)
-minline攻击模式:inline 或 staged
--no-tls—使用 h2c 而非 TLS
--check-only—仅被动侦察,不进行利用
-o—将结果保存为 JSON 文件
--report—生成 Markdown 报告
-v—详细输出
等级含义
严重确认 2.4.66,HTTP/2 激活,检测到 Event MPM,崩溃确定——立即打补丁
高确认 2.4.66,HTTP/2 激活,正在使用线程化 MPM
中检测到 2.4.66 但 HTTP/2 或崩溃尚未确认
低版本不匹配或未检测到 HTTP/2
无已升级到 2.4.67+ 或不受影响