## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SAEREYA-CVE-2025-14847---MONGOBLEED
# Mongobleed (CVE-2025-14847) – Proof of Concept на Go
Этот репозиторий содержит proof-of-concept эксплойт на Go для **CVE-2025-14847** , уязвимости раскрытия памяти MongoDB, часто называемой **Mongobleed**.
Данный PoC является переписанной на Go версией оригинального эксплойта на Python от **Joe Desimone** , доступного здесь:
https://github.com/joe-desimone/mongobleed
Эксплойт использует ошибку декомпрессии zlib и парсинга BSON для утечки неинициализированной памяти из уязвимого сервера MongoDB.
Прочитайте пост в блоге - https://saereya.github.io/posts/mongobleed-cve-2025-14847/
## Обзор уязвимости
**CVE-2025-14847** вызвана некорректной обработкой сжатых сообщений `OP_MSG` в MongoDB. Создавая искажённый BSON-документ с завышенной длиной документа и помещая его в сообщение `OP_COMPRESSED`, сервер может выполнять чтение за пределами буфера декомпрессии.
Это может привести к тому, что MongoDB интерпретирует остатки памяти как имена полей BSON, которые затем отражаются в сообщениях об ошибках. Повторение этого процесса с разными смещениями может привести к утечке фрагментов памяти сервера.
## Техника эксплуатации
Этот PoC:
* Создаёт минимальный BSON-документ с поддельной длиной документа
* Сжимает его с помощью zlib
* Оборачивает в сообщение `OP_COMPRESSED` протокола MongoDB
* Отправляет его напрямую через TCP без аутентификации
* Парсит ответы с ошибками для извлечения фрагментов памяти
Утёкшие данные извлекаются из строк ошибок, таких как:
* `field name '...'`
* `type <n>`
## Затронутые версии
Эта уязвимость затрагивает определённые версии MongoDB до выхода соответствующего патча.
Обратитесь к рекомендациям MongoDB по безопасности для точного списка версий.
## Использование
Сборка:
root@kitploit:~
go build -o mongobleed
Запуск:
root@kitploit:~
./mongobleed --host <цель> --port 27017
Необязательные флаги: \--min-offset: Начальная длина BSON-документа (по умолчанию: 20) \--max-offset: Конечная длина BSON-документа (по умолчанию: 8192)
## Вывод:
root@kitploit:~
[*] MongoBleed - CVE-2025-14847
[*] Targetting localhost:27017
[*] Offset: 20 -> 8192
[+] offset= 117 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
[+] offset= 119 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
[+] offset= 120 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
[+] offset= 121 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
## Отказ от ответственности
Этот код предоставлен только для образовательных и исследовательских целей.
Не запускайте этот инструмент против систем, которые вам не принадлежат или на тестирование которых у вас нет явного разрешения. Несанкционированное использование может быть незаконным и неэтичным.
## Благодарности
* Оригинальный эксплойт на Python:
* Joe Desimone https://github.com/joe-desimone/mongobleed