В MongoDB Server нашли пять уязвимостей, и часть из них позволяет аутентифицированному пользователю останавливать базу. Исправления вышли в ветках 7.0, 8.0, 8.3 и 9.0. Вендор опубликовал оповещения 13 октября 2026 года. Заявленных последствий три: отказ в обслуживании, раскрытие информации и обход ограничений безопасности.
Уязвимости MongoDB Server и версии с исправлениями
Уязвимыми остаются серверы 7.0 младше 7.0.45, 8.0 младше 8.0.34, 8.3 младше 8.3.13 и 9.0 младше 9.0.4. Три проблемы из списка получили по 7,1 балла по шкале CVSS, ещё одна - 5,3. Рейтинг 7,1 относят к высокому уровню угрозы, 5,3 - к среднему. Часть ошибок проявляется только в шардированных кластерах. Запросы там распределяет маршрутизатор mongos, то есть узел, который принимает подключения и разводит их по серверам данных. Два идентификатора в бюллетене сопровождают почти одинаковые описания: оба заканчиваются аварийным завершением этого узла.
Остановка mongos пользователем с правом записи
Одна из уязвимостей, CVE-2026-96299, связана с внутренним этапом конвейера агрегации. Такой этап предназначен для служебных задач и не проверяет права должным образом. Следующая стадия после него запускается на маршрутизаторе в условиях, на которые тот не рассчитан. Ошибку сервер не перехватывает, поэтому процесс mongos завершается сразу. Клиенты, чьи запросы шли через этот маршрутизатор, теряют доступ к кластеру целиком.
Второе описание касается проверки прав при групповых операциях записи в системные пространства имён. Итог тот же: маршрутизатор аварийно завершается. Права требуются скромные, роли с доступом на чтение и запись достаточно. Значит, скомпрометированная учётная запись приложения способна остановить работу всех клиентов узла. Для шардированного кластера это простой сразу для всех приложений, которые через него ходят.
Валидаторы коллекций приводят к остановке сервера
Ещё одна уязвимость касается валидаторов коллекций, то есть правил, которые описывают допустимую структуру документов. Выражения с настройками сравнения строк сервер обрабатывает неправильно. Пока в коллекцию не пишут, ошибка себя не проявляет. Но первая же вставка документа останавливает процесс. Права нужны на запись, поэтому под угрозой и приложения, и пользователи с доступом к данным. Ветки 8.0, 8.3 и 9.0 в списке пострадавших есть, 7.0 там не указана. Правка вошла в 8.0.34.
Агрегации раскрывают данные и обращаются к освобождённой памяти
Уязвимость CVE-2026-103965 получила 5,3 балла. Она связана с этапом агрегации, который раскладывает значения по диапазонам. При внутреннем переписывании запроса постоянные значения начинают трактоваться как ссылки на поля документа. Пользователь с правом чтения получает в выводе те поля, которые запрос возвращать не собирался. Речь идёт об утечке отдельных значений, а не целых коллекций. И всё же такие данные бывают чувствительными. Затронуты все четыре ветки, включая 7.0.
Второй сбой в этой части связан с работой памяти. Внутренняя стадия агрегации применяет обновления из журнала операций репликации и держит ссылку на данные, которыми не владеет. Когда исходный запрос завершается, сервер освобождает буфер. Повторное чтение результатов через курсор обращается к уже освобождённой памяти, и узел аварийно завершается. Ошибку нашли инструменты поиска проблем с памятью AddressSanitizer (отладчик памяти) на вторичном узле шардированного кластера. Переписка в трекере вендора указывает, что она воспроизводится с версии 6.0.
Версии с исправлениями
Обновиться нужно до 7.0.45, 8.0.34, 8.3.13 или 9.0.4, выбор зависит от ветки. Одна из правок вошла и в предварительную сборку 9.1.0. Вендор собрал полный состав исправлений и ссылки на загрузку на странице оповещений: https://www.mongodb.com/resources/products/alerts#security. Администраторам шардированных кластеров обновление разумно установить первым: остановка маршрутизатора обрывает работу всех клиентов сразу. Пока патч не установлен, риск снижает ограничение прав записи у учётных записей приложений.
Во всех описанных сценариях злоумышленнику нужна учётная запись в базе с определёнными правами. Это не отменяет риска. Права на запись в MongoDB выдают приложениям широко. Скомпрометированный сервисный аккаунт позволяет остановить маршрутизатор или сервер целиком. Обновление закрывает все пять проблем разом. Откладывать его на месяцы не стоит.
Ссылки
- https://www.mongodb.com/resources/products/alerts#security
- https://jira.mongodb.org/browse/SERVER-131411
- https://jira.mongodb.org/browse/SERVER-131412
- https://jira.mongodb.org/browse/SERVER-134618
- https://jira.mongodb.org/browse/SERVER-130431
- https://jira.mongodb.org/browse/SERVER-132946