Mastodon Mastodon Mastodon Mastodon

Уязвимость в Marimo позволяла выполнить произвольную команду через MCP-конфигурацию ноутбука

Фото автора

CyberSecureFox Editorial Team

Опубликовано:

В интерактивном ноутбуке Marimo устранена уязвимость высокой степени серьёзности CVE-2026-75149, позволявшая атакующему внедрить произвольную команду Model Context Protocol (MCP) через конфигурацию специально подготовленного ноутбука. При открытии такого ноутбука в режиме редактирования команда запускалась как локальный подпроцесс — ещё до выполнения какой-либо ячейки кода. Уязвимость затрагивает все версии Marimo до 0.23.15 и исправлена в этом релизе. Пользователям необходимо обновиться как минимум до версии 0.23.15, а предпочтительно — до актуальной версии 0.24.0.

Технические детали уязвимости

Согласно записи CVE в базе OSV, уязвимость классифицируется как инъекция кода. VulnCheck как CNA-орган присвоил ей оценку CVSS v4 8.7 и CVSS v3.1 8.8. Для эксплуатации требуется взаимодействие пользователя (открытие вредоносного ноутбука), но аутентификация атакующего не нужна.

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

CVE опубликована 19 августа 2026 года. Обнаружение уязвимости приписывается исследователю Gregory Tan (Grg0rry), который также указан как соавтор исправляющего коммита.

Подход к исправлению: метаданные как недоверенный ввод

Ключевое архитектурное решение в патче PEP 723 — метаданные ноутбука теперь обрабатываются как потенциально контролируемые атакующим. Вся конфигурация, поступающая из ноутбука, проходит через белый список (allowlist). Следующие секции конфигурации принудительно удаляются при загрузке:

  • ai — настройки ИИ-интеграции
  • mcp — конфигурация MCP-серверов
  • completion — параметры автодополнения
  • secrets — секреты и ключи
  • server — серверные настройки

Патч включает регрессионный тест, который использует контролируемый атакующим URL и проверяет, что секция mcp действительно удаляется из загруженной конфигурации.

Связанные уязвимости: системная проблема доверия к метаданным

CVE-2026-75149 — не единичный случай. Та же граница доверия к конфигурации из метаданных ноутбука была задействована в отдельной уязвимости CVE-2026-67618 (CVSS 7.1), раскрытой VulnCheck 4 августа 2026 года. В этом случае атакующий подставлял через метаданные ноутбука вредоносный адрес ИИ-сервиса (base_url). Когда оператор впоследствии отправлял запрос к ИИ, его API-ключ передавался на контролируемый атакующим сервер — опять же без необходимости выполнения ячеек кода. Обе уязвимости затрагивают версии до 0.23.15.

Ранее в Marimo была обнаружена и другая уязвимость — CVE-2026-39987, связанная с отсутствием аутентификации на эндпоинте /terminal/ws. Согласно официальному бюллетеню Marimo, запросы к этому эндпоинту позволяли получить полноценную псевдотерминальную оболочку (PTY) и выполнять произвольные команды. Эта проблема затрагивала версии 0.20.4 и ранее и была исправлена в версии 0.23.0.

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

Оценка воздействия

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

Рекомендации

  1. Обновите Marimo до версии 0.23.15 или новее. Актуальная версия на PyPI — 0.24.0 (выпущена 17 августа 2026 года).
  2. Проверьте текущую версию командой pip show marimo.
  3. Не открывайте ноутбуки из ненадёжных источников в режиме редактирования до обновления.
  4. Аудируйте метаданные полученных извне ноутбуков — проверяйте наличие секций mcp, ai, server, secrets в конфигурации перед открытием.
  5. Согласно политике безопасности Marimo, патчи выпускаются только для последнего стабильного релиза — поддержание актуальной версии критически важно.

Три уязвимости в Marimo, исправленные в версиях 0.23.0 и 0.23.15, демонстрируют, что формат интерактивного ноутбука — это не просто документ, а потенциальный вектор атаки. Единственное надёжное действие — немедленное обновление до версии 0.24.0 и пересмотр практик обмена ноутбуками в команде с учётом того, что файл ноутбука может содержать вредоносную конфигурацию, срабатывающую без явного запуска кода.


CyberSecureFox Editorial Team

Редакция CyberSecureFox освещает новости кибербезопасности, уязвимости, malware-кампании, ransomware-активность, AI security, cloud security и security advisories вендоров. Материалы готовятся на основе official advisories, данных CVE/NVD, уведомлений CISA, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.