В популярной NoSQL‑базе данных MongoDB Server обнаружена и закрыта критическая уязвимость, связанная с обработкой сжатого трафика через библиотеку zlib. Проблема получила идентификатор CVE‑2025‑14847 и позволяет неаутентифицированному злоумышленнику прочитать неинициализированную память сервера (heap memory) через специально сформированные сетевые запросы.
Специалисты предупреждают, что такие утечки памяти могут в теории привести к раскрытию внутренних данных сервера — включая фрагменты ранее обработанных сообщений, ключи, служебную информацию или другие чувствительные данные, которые не должны были быть отправлены клиенту.
Проблема затрагивает широкий диапазон релизов MongoDB, в том числе:
4.4.30, 5.0.32, 6.0.27, 7.0.28, 8.0.17 и 8.2.3, содержащие патч для данной уязвимости.
Если обновление невозможно сразу, временным обходным решением может стать отключение компрессии zlib на сервере, например, через параметры запуска mongod/mongos с указанием альтернативных алгоритмов (snappy, zstd) или полным исключением zlib. Однако это носит вспомогательный характер и не заменяет полноценного обновления.
В уязвимых версиях mongo‑express до 0.54.0 через небезопасную функцию преобразования BSON (toBSON) злоумышленник мог выполнить произвольный код на хосте. Эта проблема возникала из‑за неправильного использования модуля vm, позволявшего выполнять команды в небезопасной среде, что фактически давало полный контроль над системой при успешной атаке.
Уязвимость была признана критической с высоким CVSS‑баллом (~9.9) и уже давно закрыта обновлением до версии 0.54.0 и выше.
Источники
Специалисты предупреждают, что такие утечки памяти могут в теории привести к раскрытию внутренних данных сервера — включая фрагменты ранее обработанных сообщений, ключи, служебную информацию или другие чувствительные данные, которые не должны были быть отправлены клиенту.
Проблема затрагивает широкий диапазон релизов MongoDB, в том числе:
- Серии 3.6, 4.0, 4.2, 4.4.x (до 4.4.29)
- 5.0.x (до 5.0.31)
- 6.0.x (до 6.0.26)
- 7.0.x (до 7.0.26)
- 8.0.x (до 8.0.16)
- 8.2.x (до 8.2.2)
Это фактически включает большинство активно используемых выпусков системы.
4.4.30, 5.0.32, 6.0.27, 7.0.28, 8.0.17 и 8.2.3, содержащие патч для данной уязвимости.
Если обновление невозможно сразу, временным обходным решением может стать отключение компрессии zlib на сервере, например, через параметры запуска mongod/mongos с указанием альтернативных алгоритмов (snappy, zstd) или полным исключением zlib. Однако это носит вспомогательный характер и не заменяет полноценного обновления.
Контекст прошлых уязвимостей в экосистеме MongoDB
Кроме недавней проблемы с zlib, ранее в инфраструктуре вокруг MongoDB была зафиксирована и другая критическая уязвимость — CVE‑2019‑10758. Она не касалась самого сервера, а затрагивала web‑интерфейс администрирования mongo‑express.В уязвимых версиях mongo‑express до 0.54.0 через небезопасную функцию преобразования BSON (toBSON) злоумышленник мог выполнить произвольный код на хосте. Эта проблема возникала из‑за неправильного использования модуля vm, позволявшего выполнять команды в небезопасной среде, что фактически давало полный контроль над системой при успешной атаке.
Уязвимость была признана критической с высоким CVSS‑баллом (~9.9) и уже давно закрыта обновлением до версии 0.54.0 и выше.
Рекомендации
- Срочно обновить MongoDB Server до одной из версий, включающих исправление CVE‑2025‑14847.
- Проверить, не используется ли компрессия zlib в сетевых конфигурациях, и при необходимости временно отключить её.
- Обновить любые интерфейсы администрирования (включая mongo‑express) до последних безопасных версий.
- Ограничить доступ к экземплярам MongoDB из непроверенных сетей и регулярно проверять сборки на уязвимости.
Источники