В середине мая 2026 года команда разработчиков MongoDB выпустила серию экстренных обновлений, закрывающих сразу несколько опасных уязвимостей. Самая серьёзная из них, CVE-2026-8053, получила оценку в 8,8 балла по шкале CVSS и позволяет аутентифицированному злоумышленнику получить полный контроль над сервером базы данных. Проблема кроется в реализации коллекций временных рядов, и затрагивает она практически все поддерживаемые ветки продукта.
Детали уязвимостей
Суть проблемы заключается в ошибке при обработке дублирующихся имён полей внутри так называемых сегментов временных рядов. Если атакующий, обладающий правами на запись, вставит в такую коллекцию данные с повторяющимися ключами, внутренняя система индексации MongoDB начинает работать некорректно. В нормальной ситуации каждый ключ внутри документа имеет уникальное числовое смещение, но из-за несоответствия в каталоге эти указатели "съезжают". В результате операция записи выходит за границы выделенной области памяти, что в конечном счёте ведёт к записи в произвольную ячейку памяти серверного процесса mongod.
Вредоносная полезная нагрузка не ограничивается чтением или порчей данных. Программисты классифицируют этот баг как out-of-bounds write (запись за пределами буфера). Теоретически это позволяет подменить управляющие структуры в оперативной памяти и запустить свой собственный код, то есть выполнить удалённую атаку. Важно понимать, что уязвимость не требует физического доступа к серверу - достаточно отправить специально сформированный HTTP-запрос к работающему экземпляру MongoDB.
Производитель не стал дожидаться планового цикла обновлений. Патчи вышли практически одномоментно для всех шести основных веток. Срочно обновиться необходимо пользователям MongoDB версий 5.0.x (до 5.0.33), 6.0.x (до 6.0.28), 7.0.x (до 7.0.34), 8.0.x (до 8.0.23), 8.2.x (до 8.2.9) и 8.3.x (до 8.3.2). Все выпуски старше указанных дат считаются уязвимыми. Команда MongoDB настоятельно рекомендует не откладывать установку исправлений, поскольку концепция атаки уже полностью описана, а значит, появление эксплойтов в открытом доступе - лишь вопрос времени.
Отдельного внимания заслуживает ещё одна уязвимость, связанная с функцией агрегации $trim. Ей присвоен идентификатор CVE-2026-2332. Проблема кроется в том, что при передаче чрезмерно длинной строки-маски в оператор $trim серверная часть непредсказуемо завершала работу или допускала логические ошибки исполнения. Хотя этот баг не ведёт к удалённому выполнению кода, он позволяет вызвать отказ в обслуживании. Пользователям также стоит обратить внимание на уязвимость в модуле replaceEncryptedFieldsInFilter, которая при определённых условиях провоцирует обращение к уже освобождённой области памяти (классическая проблема use-after-free). Это может привести к повреждению данных или несанкционированному доступу.
В целом майское обновление MongoDB стало одним из самых масштабных за последние годы. Инцидент затронул не только ядро СУБД, но и смежные инструменты. Например, одновременно с бюллетенями по MongoDB были опубликованы данные об ошибках в популярном HTTP-фреймворке Netty, JavaScript-шаблонизаторе Handlebars и библиотеке Forge. Все эти компоненты часто используются в связке с базами данных для построения API-шлюзов и внутренних сервисов. Закрывая уязвимости только в MongoDB, но забывая о смежном ПО, администраторы рискуют оставить лазейку для злоумышленников.
Для специалистов по безопасности ситуация осложняется тем, что CVE-2026-8053 требует аутентификации. Это значит, что атакующий уже должен иметь учётную запись в базе. Однако практика показывает, что утечки паролей и использование слабых учётных данных остаются массовой проблемой. Если злоумышленник проник во внутреннюю сеть, он может быстро найти сервер с устаревшей версией MongoDB и получить права администратора всей системы.
Разработчики также выпустили рекомендации для тех, кто по каким-то причинам не может немедленно установить патч. В качестве временной меры предлагается ограничить доступ к mongod из внешних сетей, провести ревизию учётных записей и убедиться, что все пароли уникальны и не использовались за последние 90 дней. Однако подчеркивается, что такие меры не устраняют саму уязвимость. Единственным надёжным способом защиты остаётся переход на актуальные версии.
Стоит отметить, что это не первая серьёзная проблема в механизме коллекций временных рядов MongoDB. В прошлом году специалисты уже фиксировали баги, связанные с неверной обработкой данных при высоких нагрузках на запись. Нынешний инцидент лишний раз доказывает, что механизмы сжатия и индексации в этой области остаются сложными и требуют тщательного тестирования. Производитель пообещал провести дополнительный аудит кода Storage Execution, чтобы исключить появление подобных ошибок в будущих релизах.
Таким образом, администраторам баз данных стоит в ближайшее время запланировать обновление всех кластеров MongoDB. Промедление в данном случае грозит не только утечкой информации, но и полной компрометацией инфраструктуры. Ситуация особенно критична для компаний, где MongoDB является единственным хранилищем для аналитики или пользовательских сессий. Оперативная установка исправлений - это минимальная плата за безопасность корпоративных данных.
Ссылки
- https://www.mongodb.com/docs/ops-manager/current/release-notes/application/#onprem-server-8.0.23
- https://jira.mongodb.org/browse/SERVER-120668
- https://jira.mongodb.org/browse/SERVER-122032
- https://jira.mongodb.org/browse/SERVER-122449
- https://jira.mongodb.org/browse/SERVER-126021
- https://www.cve.org/CVERecord?id=CVE-2025-50537
- https://www.cve.org/CVERecord?id=CVE-2026-2332
- https://www.cve.org/CVERecord?id=CVE-2026-33186
- https://www.cve.org/CVERecord?id=CVE-2026-33870
- https://www.cve.org/CVERecord?id=CVE-2026-33871
- https://www.cve.org/CVERecord?id=CVE-2026-33891
- https://www.cve.org/CVERecord?id=CVE-2026-33894
- https://www.cve.org/CVERecord?id=CVE-2026-33895
- https://www.cve.org/CVERecord?id=CVE-2026-33896
- https://www.cve.org/CVERecord?id=CVE-2026-33916
- https://www.cve.org/CVERecord?id=CVE-2026-33937
- https://www.cve.org/CVERecord?id=CVE-2026-33938
- https://www.cve.org/CVERecord?id=CVE-2026-33939
- https://www.cve.org/CVERecord?id=CVE-2026-33940
- https://www.cve.org/CVERecord?id=CVE-2026-33941
- https://www.cve.org/CVERecord?id=CVE-2026-4867
- https://www.cve.org/CVERecord?id=CVE-2026-8053