-
Описание уязвимости
Эта критическая уязвимость позволяет удалённым неаутентифицированным злоумышленникам получить несанкционированный доступ к файлам сервера через рабочие процессы на основе форм. Такое локальное включение файлов (LFI) раскрывает конфиденциальные данные и создаёт плацдарм для более глубокого проникновения в систему.
-
Технический анализ
Корневая причина CVE-2026-21858 кроется в механизме, который n8n использует для обработки вебхуков и загружаемых данных.
Механизм отказа
- Обработка Content-Type: При получении HTTP-запроса n8n анализирует содержимое на основе заголовка Content-Type, чтобы решить, как обрабатывать данные.
- Пробел в проверке: Некоторые функции обработки файлов в рабочих процессах не выполняют надлежащую проверку Content-Type перед манипуляцией данными файлов.
- Манипуляция переменными: Эта недоработка позволяет злоумышленнику управлять переменной, содержащей информацию о файле, и указывать произвольные пути в системе, фактически превращая функцию загрузки в несанкционированный механизм чтения локальных файлов.
- Уязвимая логика: В обычном потоке n8n использует Formidable для безопасного разбора загрузок multipart/form-data в случайные временные пути. Однако если злоумышленник изменяет Content-Type на application/json, n8n использует другой парсер (parseBody()), который напрямую заполняет req.body.files значениями, контролируемыми пользователем, включая произвольные пути к файлам.
- Затронутый исходный код: Критическая ошибка находится в packages\nodes-base\nodes\Form\utils\utils.ts.
-
Цепочка эксплуатации
Исследователи продемонстрировали практическую цепочку эксплуатации, ведущую к полному захвату системы:
- Доступ к базе данных: Непосредственное чтение файла базы данных n8n для извлечения идентификаторов администраторов, адресов электронной почты и хешированных паролей.
- Извлечение ключей шифрования: Чтение файлов конфигурации для получения ключей шифрования системы.
- Подделка сессий: Подделка административных сессий входа с использованием поддельных cookie-файлов.
- Удалённое выполнение кода (RCE): После получения административного доступа злоумышленник может создавать новые рабочие процессы для выполнения произвольных команд на хост-сервере.
- Полная компрометация: Полный доступ приводит к раскрытию всех хранящихся ключей API, токенов OAuth, подключений к базам данных и учётных данных облачных сервисов.
-
PoC
Целевая конечная точка: Эксплуатация обычно нацелена на такие конечные точки, как /form/vulnerable-form.

Результаты: Успешное выполнение демонстрирует возможность чтения системных файлов, таких как /etc/passwd, что подтверждает наличие уязвимости.
