
Proof of Concept: CVE-2026-21858 is vulnerability on n8n where unauthenticated remote attackers can access sensitive files.
Инструмент для исследования безопасности, предназначенный для обнаружения CVE-2026-21858 — критической уязвимости удалённого выполнения кода в платформе автоматизации рабочих процессов n8n.
| Поле | Значение |
|---|---|
| Идентификатор CVE | CVE-2026-21858 |
| Оценка CVSS v3.1 | 10.0 (Критический) |
| Вектор CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Классификация CWE | CWE-94: Некорректный контроль генерации кода |
| Поставщик | n8n GmbH |
| Продукт | n8n Workflow Automation |
| Дата раскрытия | Январь 2026 |
| Доступен патч | Да (v1.121.0+) |
Критическая уязвимость существует в версиях n8n с 1.65.0 по 1.120.x и позволяет неаутентифицированным удалённым злоумышленникам выполнять произвольный код на сервере. Уязвимость эксплуатируется через специально созданные рабочие процессы на основе форм, что обеспечивает несанкционированный доступ к файловой системе и выполнение команд.
| Диапазон версий | Статус |
|---|---|
| < 1.65.0 | Не затронута |
| 1.65.0 — 1.120.x | Уязвима |
| >= 1.121.0 | Исправлена |
Уязвимость возникает из-за недостаточной проверки входных данных в механизме выполнения рабочих процессов на основе форм. При обработке предоставленных пользователем данных через триггеры форм n8n не выполняет надлежащую очистку входных параметров перед передачей их во внутренние контексты выполнения.
| Пакет | Минимальная версия | Назначение |
|---|---|---|
| requests | 2.31.0 | Обработка HTTP-запросов |
| urllib3 | 2.0.0 | Управление URL-адресами и подключениями |
| packaging | 23.0 | Логика сравнения версий |
uv — это быстрый установщик и резолвер Python-пакетов.
# Клонируем репозиторий
git clone https://github.com/sh4den/CVE-2026-21858.git
cd CVE-2026-21858
# Устанавливаем зависимости и создаём виртуальное окружение
uv sync
# Запускаем инструмент
uv run python main.py -u https://target.example.com
# Клонируем репозиторий
git clone https://github.com/sh4den/CVE-2026-21858.git
cd CVE-2026-21858
# Создаём виртуальное окружение (рекомендуется)
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# или
.\venv\Scripts\activate # Windows
# Устанавливаем зависимости
pip install requests>=2.31.0 urllib3>=2.0.0 packaging>=23.0
# Запускаем инструмент
python main.py -u https://target.example.com
# Убедитесь, что установлен Python 3.12+
python3 --version
# Устанавливаем необходимые пакеты
pip install requests urllib3 packaging
# Скачиваем и запускаем
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-21858/main/main.py
python3 main.py -u https://target.example.com
Использование:
python main.py -u <target_url> Сканирование одной цели
python main.py -l <targets_file> Сканирование нескольких целей из файла
Аргументы:
-u URL одной цели
-l Путь к файлу, содержащему URL целей (по одному в строке)
Проверка одного экземпляра n8n на наличие уязвимости:
python main.py -u https://n8n.example.com
python main.py -u http://192.168.1.100:5678
Сканирование нескольких целей из файла:
python main.py -l targets.txt
Формат файла целей (targets.txt):
https://n8n.company-a.com
https://n8n.company-b.com:5678
http://10.0.0.50:5678
n8n.company-c.com
192.168.1.100:5678
Примечания:
https://Инструмент использует пассивное определение версии, выполняя следующие шаги:
/signinn8n:config:sentry в HTML[email protected]GET /signin HTTP/1.1
Host: target.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9
Accept-Language: en-US,en;q=0.5
Connection: close
Обновите n8n: Немедленно обновитесь до версии 1.121.0 или новее
# С помощью npm
npm update -g n8n
# С помощью Docker
docker pull n8nio/n8n:latest
Сетевая изоляция: Ограничьте доступ к экземплярам n8n
Аудит рабочих процессов: Проверьте все существующие рабочие процессы
# Проверяем версию n8n после обновления
n8n --version
# Или проверяем с помощью этого инструмента
python main.py -u https://your-n8n-instance.com
# Ожидаемый результат: [SAFE] ... Version: 1.121.0+ (не уязвима)
Проверьте журналы n8n и веб-сервера на наличие следующих признаков:
ВАЖНО: ПРОЧИТАЙТЕ ПЕРЕД ИСПОЛЬЗОВАНИЕМ
Данный инструмент предоставляется строго для:
Запрещённые виды использования:
Ответственность: Авторы и участники не несут ответственности за неправомерное использование данного программного обеспечения. Пользователи несут единоличную ответственность за соблюдение всех применимых законов и получение надлежащего разрешения перед проведением любых испытаний на безопасность.
Правовое уведомление: Несанкционированный доступ к компьютерным системам является уголовным преступлением в большинстве юрисдикций, включая, помимо прочего, нарушения Закона о компьютерном мошенничестве и злоупотреблениях (CFAA) в США, Закона о неправомерном использовании компьютеров в Великобритании и аналогичного законодательства по всему миру.
| Версия | Дата | Изменения |
|---|---|---|
| 1.0.0 | 2026-01-20 | Первоначальный выпуск |
Данный проект предоставляется как есть, только для авторизованных исследовательских целей в области безопасности. Никакие гарантии, явные или подразумеваемые, не предоставляются. Используйте на свой страх и риск и в соответствии с применимыми законами.
| Индикатор | Цвет | Описание |
|---|
[VULNERABLE] | Зелёный | На цели запущена уязвимая версия n8n (1.65.0 — 1.120.x) |
[SAFE] | Синий | На цели запущена исправленная версия (>= 1.121.0 или < 1.65.0) |
[WARNING] | Жёлтый | Обнаружен экземпляр n8n, но не удалось извлечь версию |
[ERROR] | Красный | Ошибка подключения, таймаут или цель не является n8n |
| Действие | Приоритет | Описание |
|---|
| Управление патчами | Критический | Настроить автоматические процедуры обновления n8n |
| Контроль доступа | Высокий | Внедрить аутентификацию для всех конечных точек n8n |
| Сегментация сети | Высокий | Изолировать n8n от публичных сетей |
| Мониторинг | Средний | Развернуть журналирование и оповещения для активности n8n |
| Минимальные привилегии | Средний | Запускать n8n с минимально необходимыми правами |
| Резервное копирование | Средний | Регулярно создавать резервные копии конфигураций рабочих процессов |