MarkLogic Server, платформа для хранения и обработки данных в корпоративных контурах, содержит 31 уязвимость. Часть из них открывает путь к захвату административных прав, выполнению кода на сервере, обходу аутентификации и краже учётных данных. Уязвимы версии 12.0-12.0.3 и 11.0-11.3.6; исправления вышли 12 октября 2026 года в выпусках 12.1 и 11.3.7. Признаков эксплуатации Progress не приводит, но предупреждает о другом: затронутые серверы работают без сбоев, а следов в журналах может не быть вовсе.
Уязвимости MarkLogic Server и исправления в версиях 12.1 и 11.3.7
Права и границы авторизации
Несколько уязвимостей ломают саму логику разграничения доступа. CVE-2026-85947 в операциях управления лесами (forest - служебный сегмент, где MarkLogic хранит документы) даёт удалённому злоумышленнику с правами на такие сегменты создать постоянную учётную запись администратора и закрепиться на сервере. Близкая по последствиям CVE-2026-85948 связана с внедрением XQuery-кода в устаревшем пути Management API: обладатель прав на управление пользователями получает устойчивый административный контроль.
Ещё две уязвимости затрагивают язык запросов XQuery. CVE-2026-85955 позволяет удалённому злоумышленнику с правом на выполнение запросов вызвать функцию вычисления XQuery без обязательного дополнительного разрешения, и итогом становится исполнение серверного кода с повышенными правами. CVE-2026-85954 приводит к тому, что подставленные злоумышленником значения вычисляются в привилегированном контексте.
Отдельно стоит случай делегированного администратора баз данных: он может делать резервные копии и восстанавливать сегменты за пределами разрешённой базы. Это открывает доступ к критичным для безопасности сведениям и позволяет их изменить.
Query Console как точка входа
Консоль выполнения запросов стала источником сразу нескольких проблем. Предсказуемые токены защиты от межсайтовой подделки запроса (CSRF - навязывание браузеру действий от имени пользователя) позволяют заманить уже авторизованного человека на вредоносную страницу и отправить запросы от его имени, включая выполнение кода. Другая уязвимость даёт такому пользователю подставлять произвольные пути к файлам в привилегированный помощник работы с файловой системой, из-за чего раскрывается содержимое любых файлов сервера. Третья связана с недостаточной очисткой входных данных в точке исследования файлов: последовательности CRLF в заголовках открывают путь к расщеплению HTTP-ответа.
Аутентификация и журналы аудита
В развёртываниях с SAML (протокол обмена утверждениями о пользователе между системами) удалённый злоумышленник без учётной записи может заставить сервер принять утверждение, которое тот обязан отклонить. Ещё одна уязвимость разрешает использовать токен, не подлежащий приёму. Третья касается изоляции пользовательского кода от состояния HTTP-запроса, ответа и сессии: исполняемый код видит данные, к которым доступа иметь не должен, и способен действовать в чужой сессии.
В конфигурациях с парольной аутентификацией и Kerberos (протокол сетевой аутентификации) сервер недостаточно проверяет подлинность самой службы аутентификации, поэтому злоумышленник в сети может выдать себя за доверенную инфраструктуру. Аудит страдает отдельно: успешные входы попадают в журналы не всегда, что мешает расследованию. Права на файлы журналов выставлены слишком широко, и локальный пользователь способен читать и менять записи. Исправленные права применяются к новым и ротируемым журналам, а существующие файлы сохраняют прежние до отдельной правки.
Облачные развёртывания, утечки и транспорт
В облаке работают две уязвимости серверной подделки запросов (SSRF, когда сервер по указанию злоумышленника сам обращается к внутренним ресурсам): одна проявляется в Azure, вторая в Linux-развёртываниях. Авторизованный злоумышленник добирается до внутренних служб и получает облачные учётные данные или токены. Устаревший компонент OpsDirector добавляет к этому подделку запросов и встроенный криптографический ключ, из-за чего злоумышленник без учётной записи может обращаться к внутренним службам и подделывать доверенные запросы. В журналах Azure-развёртываний при некоторых настройках оседают данные аутентификации, и доступ к таким файлам ведёт к защищённым облачным ресурсам.
Обработка XML тоже в списке. Обработку внешних сущностей XML сервер включает по умолчанию в нескольких путях, поэтому специально собранный документ заставляет его делать запросы или выдавать локальные файлы; в SAML-парсере ветки 11.x проблема связана с обработкой внешних определений типов документов. Рядом стоят межсайтовый скриптинг, раскрытие служебной информации, запись секретов в журналы и обход каталогов в устаревших модулях InfoStudio.
Транспорт добавляет свои риски. Часть кластерных служебных сообщений в 12.x идёт открытым текстом, подключения к Amazon S3 в обеих ветках по умолчанию тоже не шифруются, что позволяет перехватить данные и учётные данные. Проверка имени узла в сертификатах TLS для части исходящих соединений выполняется непоследовательно, поэтому злоумышленник в сети может вмешаться в обмен.
Безопасность памяти
Уязвимости, связанные с памятью, затрагивают интеграцию движка JavaScript: использование освобождённой памяти, чтение и запись за границами буфера. Последствия - нестабильность сервера, утечка памяти и ограниченная возможность менять данные. Progress не относит все случаи выполнения кода к доступным удалённо без аутентификации: большинству сценариев нужны определённые права или настройки.
Что делать администраторам
Развёртывания переводят на 12.1 или 11.3.7. Для снятых с поддержки версий 10 и более ранних исправлений не будет, поэтому им нужен переход на поддерживаемый выпуск. Клиенты MarkLogic Content Pump должны соответствовать версии сервера, иначе обмен нарушится. Linux-сборки на базе RPM требуют установленного curl - от этого зависит защита облачных метаданных.
Перед обновлением сверяют документацию о несовместимости: исправления меняют поведение устаревших API, требования к правам, проверку аутентификации, журналирование, разбор XML и работу с транспортом. Права на уже существующие файлы журналов обновление не поправит, их выставляют отдельно.
MarkLogic держит чувствительные данные и работает в контурах с жёсткими требованиями к доступу. Тридцать одна уязвимость в одном бюллетене - следствие долгой истории платформы: рядом с современным кодом остаются устаревшие модули и пакеты, к которым годами не возвращались. Эксплуатацию удаётся заметить по журналам далеко не всегда, поэтому ровная работа сервера не служит доказательством того, что он не скомпрометирован.
Ссылки