Mercury допускает удалённое выполнение кода через регулярные выражения

vulnerability

В Python-платформе Mercury, которую используют для интерактивных веб-приложений и панелей управления, есть уязвимость в компоненте BLOCKED_PATTERNS. Этот компонент отвечает за фильтрацию опасных конструкций. Ошибка в обработке регулярных выражений, шаблонов для поиска и проверки текста, позволяет удалённому злоумышленнику выполнить произвольный код на сервере. Уязвимость затрагивает версии Mercury с 3.0.0 по 3.2.3 включительно. Производитель подтверждает проблему.

CVE-2026-111057 в Mercury и удалённое выполнение кода

Уязвимость получила идентификатор CVE-2026-111057. В Банке данных угроз безопасности информации (BDU) она числится под номером BDU:2026-17112. Оценка по CVSS 3.1 составляет 10 из 10. По CVSS 2.0 - тоже 10. Вектор 3.1 предполагает сетевой доступ, низкую сложность, отсутствие привилегий и отсутствие действий пользователя. Влияние на конфиденциальность, целостность и доступность высокое. Уровень опасности в карточке - критический.

Компонент BLOCKED_PATTERNS должен отсекать потенциально опасные выражения. Из-за неправильного регулярного выражения фильтр можно обойти. В описании есть две слабости: CWE-185 (неправильное регулярное выражение) и CWE-284 (неправильный контроль доступа). В результате злоумышленник получает возможность выполнить код. При этом подготовка не требует учётной записи. Действия пользователя тоже не нужны. Атака идёт по сети, а сложность низкая. Класс уязвимости - уязвимость кода.

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

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

Исправление доступно в версии 3.2.4. В ней ошибка больше не воспроизводится. Ссылки на выпуск 3.2.4 и изменение в репозитории доступны на GitHub. В карточке есть дата выявления: 21 августа 2026 года. Для CVSS 4.0 вектор отсутствует. В карточке есть отметка об исправлении.

Администраторам нужно перейти на 3.2.4. Если обновление невозможно, ограничьте доступ к Mercury доверенными сетями. Изолируйте сервис от важных данных; запретите внешние подключения; проверяйте журналы на подозрительные запросы. Такие меры снижают риск, но не заменяют исправление. После обновления проверьте, не осталось ли старых экземпляров приложения. Отдельно проверьте тестовые среды: в них часто остаются уязвимые копии.

Публичный эксплойт и максимальная оценка CVSS делают ошибку заметной для атакующих. Проектам на Mercury с версиями от 3.0.0 до 3.2.3 важно проверить, не открыт ли сервис в интернете. Версия 3.2.4 содержит исправление. Чем быстрее администраторы обновятся, тем ниже риск эксплуатации. Для открытых сервисов промедление повышает вероятность несанкционированного доступа.

Ссылки

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