此脚本旨在利用 MongoDB 服务器中被称为 CVE-2025-14847("MongoBleed")的 堆内存泄露漏洞。通过发送特制的经 zlib 压缩的 OP_MSG 数据包,并带有膨胀的文档长度,该脚本欺骗服务器在其响应中返回未初始化的堆内存。这可能会泄露敏感信息,例如: 脚本持续发送带有不同偏移量的探测,并实时打印 新观察到的泄露字符串。它抑制重复项以保持输出清晰可读。
Joe Desimone 的原始 PoC 对定义的偏移范围执行单次遍历,收集所有唯一片段,保存到文件,并可选择在最后高亮有趣的模式。
| 版本 | 受影响 | 已修复 |
|---|---|---|
| 8.2.x | 8.2.0 - 8.2.2 | 8.2.3 |
| 8.0.x | 8.0.0 - 8.0.16 | 8.0.17 |
| 7.0.x | 7.0.0 - 7.0.27 | 7.0.28 |
| 6.0.x | 6.0.0 - 6.0.26 | 6.0.27 |
| 5.0.x | 5.0.0 - 5.0.31 | 5.0.32 |
[!NOTE] 为确保项目依赖的干净和隔离环境,建议使用 Python 的
venv模块。
git clone https://github.com/joshuavanderpoll/CVE-2025-14847.git
cd CVE-2025-14847
python3 -m venv .venv
source .venv/bin/activate
git clone https://github.com/joshuavanderpoll/CVE-2025-14847.git
cd CVE-2025-14847
python -m venv .venv
.venv\Scripts\activate
python3 CVE-2025-14847.py --host 127.0.0.1 --port 27017

此工具仅用于教育和研究目的。创建者对因使用本工具而导致的任何误用或损害不承担任何责任。