В обновлении n8n устранено 14 уязвимостей, включая захват учётных данных и удалённое выполнение кода

n8n

Разработчики платформы для автоматизации рабочих процессов n8n выпустили очередной пакет обновлений, закрывающих 14 уязвимостей. Исправления затронули версии 1.123.55, 2.24.0, 2.25.7, 2.26.1 и 2.26.2. Среди проблем есть как критические, позволяющие злоумышленникам получать контроль над учётными данными, так и уязвимости, ведущие к отказу в обслуживании или утечке информации.

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

Наиболее опасная уязвимость, получившая идентификатор CVE-2026-54305 (оценка CVSS v4 - 8,9), затрагивает корпоративные версии платформы с включённой функцией Dynamic Credentials. В трёх конечных точках API не проверялись права владельца на целевой рабочий процесс или учётные данные. Аутентифицированный пользователь без членства в проекте мог перечислить идентификаторы и типы учётных данных, принадлежащие другим пользователям. Более того, уязвимость позволяла инициировать OAuth-авторизацию против чужого токена и заменять его собственным. Рабочие процессы, использующие захваченные таким образом учётные данные, начинали выполняться под идентификатором злоумышленника, что открывало путь к выгрузке данных на внешние ресурсы.

Две уязвимости класса межсайтового выполнения сценариев (XSS) отмечены как высокорискованные. Первая, CVE-2026-54302 (CVSS 7.0), затрагивает узел Chat Trigger. Аутентифицированный пользователь с правами на редактирование рабочего процесса мог внедрить произвольный код JavaScript через поле webhookId. При посещении сгенерированной страницы кем-либо из аутентифицированных пользователей код исполнялся в контексте сессии жертвы. Вторая, CVE-2026-54301 (CVSS 7.0), связана с узлом Respond to Webhook. Злоумышленник мог настроить его на выдачу бинарного контента с произвольным Content-Type, что позволяло обойти заголовок Content-Security-Policy и также выполнить код в контексте сессии другого пользователя.

Уязвимость CVE-2026-54307 (CVSS 8,5) описана как обход разрешений, приводящий к краже учётных данных. Пользователь с уровнем доступа редактора в общем рабочем процессе мог через отдельные конечные точки публичного API ссылаться на учётные данные, которые ему не принадлежат. Проверки владения учётными данными были реализованы не полностью.

Версии платформы до 2.24.0 содержали уязвимость CVE-2026-54312 (CVSS 7,2) - загрязнение прототипа (prototype pollution) через узел Microsoft SQL. Передача специально сформированного значения в параметр таблицы приводила к глобальному загрязнению Object.prototype, что делало экземпляр n8n полностью неработоспособным до перезапуска серверного процесса.

Менее критичные, но существенные проблемы включают SQL-инъекцию в узлах Postgres v1 и TimescaleDB (CVE-2026-54310, CVSS 6,5), NoSQL-инъекцию в MongoDB Node (CVE-2026-54313, CVSS 6,5), а также уязвимость на стороне узла SecurityScorecard (CVE-2026-54304, CVSS 7,1), через которую можно было перехватить API-токен и отправить его на внешний хост. Четыре уязвимости отмечены отдельно для версий до 2.24.0: отражённый XSS через узлы триггеров Meta и Microsoft Teams (CVE-2026-54303), отказ в обслуживании при распаковке вредоносного архива (CVE-2026-54314), а также уже упомянутое загрязнение прототипа в Microsoft SQL.

В официальном бюллетене компании n8n отмечено, что большинство уязвимостей требуют предварительной аутентификации и прав на редактирование рабочих процессов. Исключением являются атаки через публичные webhook-узлы, для которых аутентификация не требуется. В частности, узел StripeTrigger и MicrosoftAgent365Trigger (CVE-2026-54308, CVSS 6,3) не проверяли подлинность входящих запросов, что позволяло неаутентифицированному злоумышленнику при знании URL отправить поддельную полезную нагрузку и инициировать выполнение рабочего процесса с произвольными данными.

Разработчики рекомендуют пользователям установить версии 2.26.2 или 2.25.7. Для инсталляций на версии 2.24.0 исправлен ряд уязвимостей, но для получения полного фикса требуется перейти на свежую ветку. Для ситуаций, когда обновление невозможно, компания предоставляет временные меры защиты: отключение уязвимых узлов через переменную окружения NODES_EXCLUDE, а также ограничение доступа к экземпляру платформы. Выход патча поставил точку в кампании по устранению проблем безопасности, накопленных в платформе за последние месяцы.

Ссылки

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