Mastodon Mastodon Mastodon Mastodon

Уязвимость в n8n позволяет захватить чужой аккаунт через кросс-издательскую подмену JWT-токенов

Фото автора

CyberSecureFox Editorial Team

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

В платформе автоматизации рабочих процессов n8n обнаружена уязвимость CVE-2026-59208, позволяющая злоумышленнику аутентифицироваться под чужой учётной записью без знания пароля. Проблема затрагивает Enterprise-инстансы с включённой функцией обмена токенами (token exchange) и как минимум двумя доверенными внешними издателями JWT. Система сопоставляла входящий токен с локальным пользователем исключительно по значению claim sub, игнорируя iss — издателя токена. Патч выпущен 24 июня в версиях 2.27.4 и 2.28.1; администраторам затронутых конфигураций необходимо обновиться или ограничить число доверенных издателей до одного.

Суть уязвимости: половина идентификатора вместо целого

Функция token exchange в n8n реализует спецификацию RFC 8693 и предназначена для OEM-партнёров, встраивающих n8n в свои продукты. Партнёр подписывает короткоживущий JWT своим ключом, n8n проверяет подпись по заранее сконфигурированному публичному ключу из переменной окружения N8N_TOKEN_EXCHANGE_TRUSTED_KEYS, сопоставляет claims с локальной учётной записью и пропускает пользователя без повторной аутентификации.

Проблема заключалась в логике сопоставления. Согласно RFC 7519, значение claim sub гарантированно уникально только в контексте конкретного издателя (iss). Корректный идентификатор пользователя — это пара iss + sub. Однако n8n использовал для привязки только sub, фактически опираясь на половину идентификатора.

Практическое следствие: если два доверенных издателя (A и B) выпускают токены с одинаковым значением sub для разных пользователей, валидный токен от издателя A позволяет аутентифицироваться как пользователь, зарегистрированный под издателем B. Пароль жертвы при этом не задействуется — система полностью доверяет привязке по sub.

Оценки серьёзности и статус эксплуатации

Оценки серьёзности от разных источников расходятся. GitHub как CNA присвоил уязвимости CVSS 4.0 — 7.6 (High). NVD оценил её по CVSS 3.1 на уровне 6.8 (Medium) и связал с классами слабостей CWE-287 (некорректная аутентификация) и CWE-346 (недостаточная проверка источника). Расхождение объясняется как разницей в методологиях CVSS 4.0 и 3.1, так и различной интерпретацией условий атаки.

Уязвимость не внесена в каталог CISA Known Exploited Vulnerabilities. По имеющимся данным, публичных доказательств концепции (PoC) и подтверждённых случаев эксплуатации не зафиксировано.

Кто под угрозой

Область воздействия узкая, но для затронутых конфигураций последствия серьёзны. Уязвимость проявляется только при одновременном выполнении трёх условий:

  • Enterprise-лицензия n8n;
  • активированная функция token exchange (по данным документации, всё ещё в статусе preview);
  • конфигурация с двумя или более доверенными внешними издателями токенов.

Это типичный сценарий OEM-развёртываний, где несколько партнёров интегрируют n8n в свои платформы. Для таких инстансов уязвимость фактически означает возможность кросс-тенантного захвата аккаунтов — пользователь одного партнёра может получить доступ к данным и рабочим процессам пользователя другого партнёра.

Открытым остаётся вопрос о практической реализуемости атаки: адвизори не уточняет, может ли рядовой пользователь доверенного издателя влиять на значение sub в своём токене. Вектор CVSS от GitHub указывает на наличие дополнительных требований к атаке, но не раскрывает их.

Контекст: вторая Enterprise-уязвимость за две недели

За две недели до выпуска патча для CVE-2026-59208 разработчики n8n исправили CVE-2026-54305 — ещё одну уязвимость, ограниченную Enterprise-функциональностью. Она позволяла любому аутентифицированному пользователю перезаписывать или отзывать OAuth-токены других пользователей через эндпоинты Dynamic Credentials из-за отсутствия проверки владельца ресурса. Две разные уязвимости — привязка идентичности и контроль доступа к ресурсам — но обе указывают на недостаточную зрелость проверок авторизации в Enterprise-компонентах платформы.

Рекомендации по устранению

Затронуты все версии n8n ниже 2.27.4, а также версия 2.28.0. Исправление доступно начиная с версий 2.27.4 и 2.28.1.

  • Обновление — приоритетная мера. Установите как минимум версию 2.27.4 или 2.28.1, а лучше — последнюю стабильную сборку.
  • Если обновление невозможно немедленно — сократите список доверенных издателей в N8N_TOKEN_EXCHANGE_TRUSTED_KEYS до одного или полностью отключите функцию token exchange. По заявлению n8n, инстансы с выключенным token exchange не подвержены уязвимости.
  • Проверьте журналы аутентификации на предмет аномальных входов — сессий, где пользователь аутентифицировался через токен одного издателя, но получил доступ к ресурсам, принадлежащим учётной записи другого.

Важный нюанс: ни в changelog версии 2.27.4, ни в changelog версии 2.28.1, по имеющимся данным, исправление не упоминается. Информация содержится только в адвизори. Организации, принимающие решения об обновлении исключительно на основе release notes, рискуют пропустить этот патч.

Администраторам n8n Enterprise с активной функцией token exchange и несколькими доверенными издателями следует рассматривать обновление как срочное. Даже при узком охвате уязвимости последствия её эксплуатации — полный захват учётной записи без взаимодействия с жертвой — делают промедление неоправданным. Проверьте текущую версию, содержимое N8N_TOKEN_EXCHANGE_TRUSTED_KEYS и примите решение: обновить или ограничить конфигурацию.


CyberSecureFox Editorial Team

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

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

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