CVE-2025-68613
n8n n8n
2026-03-11
n8n contains an improper control of dynamically managed code resources vulnerability in its workflow expression evaluation system that allows for remote code execution.
Технический анализ и план устранения
Суть уязвимости
CVE-2025-68613 представляет собой критическую уязвимость типа Improper Control of Dynamically Managed Code Resources в системе вычисления выражений (expressions) платформы автоматизации n8n.
Проблема заключается в недостаточной фильтрации и изоляции кода при обработке динамических выражений в рабочих процессах (workflows). Злоумышленник, имеющий доступ к созданию или редактированию воркфлоу, может внедрить специально сформированный JavaScript-код, который выйдет за пределы песочницы (sandbox) и выполнится в контексте операционной системы хоста. Это приводит к полному удаленному выполнению произвольного кода (RCE) с правами пользователя, от имени которого запущен процесс n8n.
Как исправить
Основным и единственным надежным способом устранения уязвимости является обновление n8n до версии, в которой механизмы оценки выражений были переработаны и защищены.
1. Обновление через npm (если n8n установлен глобально):
npm update -g n8n
2. Обновление через Docker (рекомендуемый способ):
Перейдите в директорию с вашим docker-compose.yml и выполните:
docker-compose pull
docker-compose up -d
Примечание: Убедитесь, что в файле конфигурации указан тег latest или версия не ниже 1.70.0 (или актуальный патч, выпущенный после обнаружения).
3. Проверка версии после обновления:
n8n --version
Временные меры
Если немедленное обновление невозможно, необходимо принять следующие меры для снижения риска эксплуатации:
1. Ограничение доступа к интерфейсу: Заблокируйте доступ к панели управления n8n из внешних сетей. Используйте VPN или IP Whitelisting (разрешенные IP-адреса) на уровне Firewall или Reverse Proxy (Nginx/Traefik).
2. Ревизия пользователей: Удалите всех неактивных пользователей и временно ограничьте права на создание/редактирование воркфлоу для недоверенных учетных записей.
3. Изоляция среды выполнения (Sandboxing): Если n8n запущен в Docker, убедитесь, что контейнер работает от имени не-root пользователя. Это не предотвратит RCE внутри контейнера, но ограничит возможности злоумышленника по компрометации хостовой системы.
4. Мониторинг логов: Настройте алертинг на подозрительную активность в логах n8n, связанную с ошибками выполнения кода в узлах (nodes) или необычными системными вызовами.
5. Отключение выполнения произвольного кода (если применимо): Установите переменную окружения, ограничивающую использование внешних библиотек, если они не требуются для работы:
export N8N_BLOCK_EXTERNAL_STORAGE_ACCESS=true