Недавно была раскрыта серьёзная проблема безопасности в базе данных MongoDB, которая уже активно используется в реальных атаках и затрагивает десятки тысяч серверов по всему миру.
В чем суть уязвимости
Эта проблема получила идентификатор CVE-2025-14847 и получила неофициальное название MongoBleed. Уязвимость позволяет удалённому злоумышленнику без аутентификации получить доступ к части памяти сервера, которую MongoDB ещё не инициализировала. Другими словами, сервер может вернуть данные из своей оперативной памяти без проверки логина или пароля.
Проблема связана с тем, как MongoDB обрабатывает сжатые сетевые сообщения с помощью библиотеки zlib. При обработке заголовков с неправильной длиной сервер может вернуть участки памяти, которые не должны быть доступны.
Что может получить злоумышленник
Эксплуатация этой уязвимости позволяет получить доступ к разным данным, которые временно хранятся в памяти сервера. Это могут быть:
имена пользователей и их пароли,
ключи API,
сессионные токены и другая чувствительная информация.
Хотя для полного сбора всех данных может потребоваться отправить множество специально сформированных запросов, со временем атакующий может собрать значительный объём информации.
Масштаб проблемы
Исследования показали, что более 87 000 серверов MongoDB, потенциально уязвимых к этой атаке, доступны из интернета. Среди стран с наибольшим количеством таких серверов Соединённые Штаты, Китай, Германия, Индия и Франция.
Кроме интернет-экспонированных экземпляров, значительная часть уязвимых серверов находится внутри корпоративных сетей, что увеличивает риски для организаций.
Какие версии затронуты
Уязвимость затрагивает множество версий MongoDB, если они не обновлены до исправленных сборок. К затронутым относятся версии:
8.2.0 – 8.2.2
8.0.0 – 8.0.16
7.0.0 – 7.0.27
6.0.0 – 6.0.26
5.0.0 – 5.0.31
4.4.0 – 4.4.29
Для каждой из линий уже доступны патч-версии, которые закрывают проблему.
Как защититься
Чтобы устранить угрозу, разработчики и администраторы должны:
обновить MongoDB до последних исправленных версий (например, 8.2.3, 8.0.17 и т.д.);
если обновление пока невозможно, то отключить zlib-сжатие в конфигурации сервера;
ограничить доступ к базе из внешней сети и следить за логами на предмет аномальных сетевых подключений до аутентификации;
Источник: HN