MongoDB Server и Compass: 26 уязвимостей - от аварийного завершения до чтения произвольных файлов

MongoDB

MongoDB опубликовала исправления для 26 уязвимостей, затрагивающих MongoDB Server в версиях 7.0, 8.0, 8.2 и 8.3, а также клиент Compass начиная с версии 1.38.0. Проблемы охватывают широкий спектр последствий: от отказа в обслуживании и обхода контроля доступа до раскрытия содержимого оперативной памяти и удалённого выполнения кода. В части случаев эксплуатация возможна аутентифицированным пользователем, имеющим лишь права на чтение, а одна из уязвимостей не требует аутентификации вовсе.

Детали уязвимостей

Большинство зарегистрированных ошибок связаны с механизмами обработки запросов и агрегационных конвейеров. Самая многочисленная группа - уязвимости, позволяющие вызвать аварийное завершение процесса mongod (серверной части). Причины варьируются от непроверяемых утверждений (CWE-617) до неконтролируемого выделения памяти (CWE-770). Например, уязвимость CVE-2026-9737 высотой 7.1 по шкале CVSS 4.0 возникает при планировании запроса с сортировкой по мета-выражению $meta. Некорректная трансформация приводит к нарушению инварианта и остановке сервера. Аналогичный эффект даёт CVE-2026-13065, где пользователь с правами только на чтение может через оконную функцию $linearFill и специально подобранное выражение sortBy спровоцировать разыменование нулевого указателя.

Особенность этих уязвимостей в том, что для их запуска атакующему не нужны административные привилегии - достаточно прав на выполнение агрегационного запроса или базовой записи. Это делает их доступными для внутреннего нарушителя или злоумышленника, получившего учётные данные низкоуровневого пользователя.

Отдельного внимания заслуживает проблема обхода контроля доступа на уровне записей. CVE-2026-13059 с рейтингом 8.6 (HIGH) связана с недостаточной проверкой клиентских параметров команд find, update, delete и aggregate в конфигурациях, где не используется строгий режим apiStrict. Аутентифицированный пользователь с низкими привилегиями может получить несанкционированный доступ на чтение и запись к данным, защищённым ролевым контролем (RBAC). Кроме того, CVE-2026-13060 (7.1 HIGH) позволяет тому же типу пользователей через этап агрегации $graphLookup обращаться к коллекциям, на которые у него нет разрешений.

Ещё одна серьёзная угроза - утечка данных. CVE-2026-13066 (7.1 HIGH) затрагивает серверный движок JavaScript: при сериализации объектов DBPointer в формат BSON в память клиента может попасть произвольное содержимое памяти процесса. Это грозит раскрытием чувствительной информации, включая ключи шифрования или данные других пользователей. Высокую степень опасности имеет и CVE-2026-13078: из-за безусловной регистрации хука загрузки модулей в движке MozJS звонки из JavaScript могут читать любые файлы с файловой системы хоста, доступные процессу mongod. CVSS-оценка этой уязвимости достигает 7.7 (HIGH) по шкале v3.1 за счёт scope changed.

Единственная критическая уязвимость - CVE-2026-13072 с показателем 9.2 по CVSS 4.0. Она возникает при включённом режиме compute mode на автономном экземпляре mongod (неконфигурация по умолчанию). Недостаточная проверка BSON-данных из внешних источников при обработке агрегационных конвейеров может привести к переполнению буфера в куче. Атака не требует аутентификации, но - из-за сложности эксплуатации - оценена как "высокая сложность" (AC:H). В случае успеха злоумышленник способен выполнить произвольный код в контексте серверного процесса.

Уязвимости для Compass сконцентрированы в одной записи - CVE-2026-14881 (7.8 HIGH). При импорте подключений можно подменить команду открытия браузера для OIDC-аутентификации, которая обычно задаётся только глобально в настройках. В результате локальный пользователь (например, получивший вредоносный файл подключения) может запускать произвольные команды оболочки при подключении к кластеру через OIDC.

MongoDB уже выпустила патчи для всех затронутых версий: для серверных линеек - 7.0.39, 8.0.28, 8.2.12 и 8.3.7; для Compass - версия 1.49.7. На странице бюллетеня разработчика приведена полная таблица соответствия CVE и версий.

Пользователям следует обновить инсталляции в ближайшее время. Особенно важно обратить внимание на уязвимости, не требующие аутентификации (CVE-2026-13074 и CVE-2026-13072), а также на проблемы, ведущие к обходу авторизации - они позволяют постороннему лицу не только нарушить работу сервера, но и получить доступ к данным.

Эта волна исправлений в очередной раз демонстрирует, что даже в зрелых СУБД, таких как MongoDB, сложные механизмы запросов и агрегации остаются источником уязвимостей. Разработчики продолжают усиливать валидацию входных данных и проверки прав доступа, но эксплуатация в ряде случаев оказывается возможной при минимальных привилегиях. Своевременное обновление остаётся ключевым элементом защиты инфраструктуры.

Ссылки

Комментарии: 0