Компания MongoDB опубликовала информацию о критической уязвимости безопасности, получившей идентификатор CVE-2025-14847. Эта уязвимость позволяет злоумышленникам извлекать неинициализированную память кучи (heap memory) с серверов баз данных без необходимости аутентификации. Проблема затрагивает множество версий MongoDB, начиная с v3.6, и коренится в клиентской уязвимости в реализации сжатия zlib на стороне сервера.
Суть уязвимости
Проблема безопасности позволяет вредоносным акторам (malicious actors) получать доступ к конфиденциальным данным из памяти сервера, эксплуатируя механизм сжатия zlib, который используется для компрессии сетевых сообщений. Особую опасность представляет тот факт, что для эксплуатации уязвимости атакующему не требуется проходить аутентификацию на сервере MongoDB. Это значительно снижает порог для проведения атаки, делая потенциально уязвимыми даже системы, защищенные стандартными методами контроля доступа. Уязвимость может привести к утечке чувствительной информации, которая случайно оказывается в неинициализированных участках памяти.
Уязвимость затрагивает широкий спектр развертываний MongoDB. В зоне риска находятся версии 8.2.0-8.2.2, 8.0.0-8.0.16, 7.0.0-7.0.26, 6.0.0-6.0.26, 5.0.0-5.0.31 и 4.4.0-4.4.29. Кроме того, все экземпляры серверов MongoDB версий 4.2, 4.0 и 3.6 также являются уязвимыми. Такой широкий охват делает инцидент особенно значимым для сообщества, поскольку под угрозой могут оказаться как современные, так и устаревшие системы, все еще используемые в различных организациях.
MongoDB настоятельно рекомендует немедленно обновиться до исправленной версий: 8.2.3, 8.0.17, 7.0.28, 6.0.27, 5.0.32 или 4.4.30. Эти выпуски содержат исправления, которые устраняют проблему раскрытия неинициализированной памяти. Администраторам баз данных следует уделить первоочередное внимание установке этих патчей из-за критического характера уязвимости и отсутствия требований к аутентификации для её эксплуатации. Извлеченная память кучи потенциально может содержать конфиденциальную информацию, включая учетные данные, данные запросов или другое содержимое базы данных.
Для организаций, которые не могут немедленно выполнить обновление, доступно временное решение (workaround). Оно заключается в отключении сжатия zlib на серверах MongoDB. Для этого необходимо запустить процессы "mongod" или "mongos" с параметром конфигурации "networkMessageCompressors" или "net.compression.compressors", который явным образом исключает zlib. В качестве безопасных альтернативных значений для сжатия можно указать "snappy,zstd" или полностью отключить функцию, используя значение "disabled". Это позволит заблокировать вектор атаки до момента применения официального исправления.
Обнаружение CVE-2025-14847 служит важным напоминанием о рисках, связанных с компонентами, которые часто воспринимаются как вспомогательные, например, библиотеки сжатия. Эксплуатация уязвимости через сетевой стек без аутентификации представляет собой серьезную угрозу. Следовательно, организациям необходимо оперативно оценить свои развертывания MongoDB и принять соответствующие меры. Своевременное обновление или применение временных решений является ключевым шагом для предотвращения потенциальной утечки данных и обеспечения безопасности информационных активов.