Критическая уязвимость в n8n позволяет выполнять произвольные команды на сервере

vulnerability

В популярной платформе для автоматизации рабочих процессов n8n обнаружена критическая уязвимость. Она позволяет авторизованным пользователям выполнять произвольные команды на уязвимой системе. Уязвимость, получившая идентификатор CVE-2025-68668, затрагивает все версии n8n от 1.0.0 до 1.999.999. Ей присвоен высокий балл CVSS 9.1, что указывает на серьёзную угрозу.

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

Проблема существует в компоненте Python Code Node, который использует Pyodide для изолированного выполнения кода. Исследователи безопасности обнаружили, что механизм защиты песочницы можно обойти. Для этого злоумышленнику необходимы права на создание или изменение рабочих процессов в системе. После успешной эксплуатации атакующий может выполнять произвольные системные команды с теми же привилегиями, что и процесс n8n на хосте.

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

Компания-разработчик n8n уже выпустила версию 2.0.0 с полным исправлением проблемы. В ней уязвимая реализация на основе Pyodide заменена на более безопасную среду выполнения, использующую task-runner. Однако пользователи, которые не могут немедленно обновиться, также имеют варианты для защиты. Для версий 1.104.0 и новее доступны временные обходные пути.

Самый радикальный метод - полностью отключить уязвимый узел Code Node. Это можно сделать, установив переменную окружения NODES_EXCLUDE со значением, исключающим n8n-nodes-base.code. Альтернативно, организации могут отключить поддержку Python целиком, установив переменную N8N_PYTHON_ENABLED в значение false. Эта опция также доступна начиная с версии 1.104.0.

Для тех, кому требуется более гибкий подход, n8n предлагает изолированную песочницу на основе task-runner. Её можно активировать через переменные окружения N8N_RUNNERS_ENABLED и N8N_NATIVE_PYTHON_RUNNER. Этот способ обеспечивает лучшую изоляцию, не лишая систему всей функциональности Python. Эксперты по кибербезопасности настоятельно рекомендуют всем организациям, использующим n8n, в приоритетном порядке обновиться до версии 2.0.0. Если немедленное обновление невозможно, необходимо незамедлительно применить один из предложенных обходных путей в соответствии с операционными требованиями. Своевременное применение исправлений критически важно для предотвращения потенциальных инцидентов безопасности.

Ссылки

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