
Proof of Concept: CVE-2026-21858 ist eine Schwachstelle in n8n, bei der nicht authentifizierte Remote-Angreifer auf sensible Dateien zugreifen können.
Ein Sicherheitsforschungstool zur Erkennung von CVE-2026-21858, einer kritischen Remote-Codeausführung-Schwachstelle in der n8n-Workflow-Automatisierungsplattform.
| Feld | Wert |
|---|---|
| CVE-Kennung | CVE-2026-21858 |
| CVSS v3.1-Wert | 10.0 (Kritisch) |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CWE-Klassifizierung | CWE-94: Improper Control of Generation of Code |
| Hersteller | n8n GmbH |
| Produkt | n8n Workflow Automation |
| Offenlegungsdatum | Januar 2026 |
| Patch verfügbar | Ja (v1.121.0+) |
In n8n-Versionen 1.65.0 bis 1.120.x besteht eine kritische Schwachstelle, die nicht authentifizierten Remote-Angreifern die Ausführung beliebigen Codes auf dem zugrunde liegenden Server ermöglicht. Die Schwachstelle wird über speziell präparierte formularbasierte Workflows ausgenutzt und ermöglicht unbefugten Dateisystemzugriff sowie die Ausführung von Befehlen.
| Versionsbereich | Status |
|---|---|
| < 1.65.0 | Nicht betroffen |
| 1.65.0 - 1.120.x | Verwundbar |
| >= 1.121.0 | Gepatcht |
Die Schwachstelle entsteht durch unzureichende Eingabevalidierung in der formularbasierten Workflow-Ausführungsengine. Bei der Verarbeitung von Benutzerdaten über Formular-Trigger bereinigt n8n die Eingabeparameter nicht ordnungsgemäß, bevor sie an interne Ausführungskontexte übergeben werden.
| Paket | Mindestversion | Zweck |
|---|---|---|
| requests | 2.31.0 | HTTP-Anfrageverarbeitung |
| urllib3 | 2.0.0 | URL- und Verbindungsverwaltung |
| packaging | 23.0 | Versionsvergleichslogik |
uv ist ein schneller Installer und Resolver für Python-Pakete.
# Clone the repository
git clone https://github.com/sh4den/CVE-2026-21858.git
cd CVE-2026-21858
# Install dependencies and create virtual environment
uv sync
# Run the tool
uv run python main.py -u https://target.example.com
# Clone the repository
git clone https://github.com/sh4den/CVE-2026-21858.git
cd CVE-2026-21858
# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# or
.\venv\Scripts\activate # Windows
# Install dependencies
pip install requests>=2.31.0 urllib3>=2.0.0 packaging>=23.0
# Run the tool
python main.py -u https://target.example.com
# Ensure Python 3.12+ is installed
python3 --version
# Install required packages
pip install requests urllib3 packaging
# Download and run
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-21858/main/main.py
python3 main.py -u https://target.example.com
Usage:
python main.py -u <target_url> Scan single target
python main.py -l <targets_file> Scan multiple targets from file
Arguments:
-u Single target URL
-l Path to file containing target URLs (one per line)
Testen Sie eine einzelne n8n-Instanz auf die Schwachstelle:
python main.py -u https://n8n.example.com
python main.py -u http://192.168.1.100:5678
Mehrere Ziele aus einer Datei scannen:
python main.py -l targets.txt
Format der Zieldatei (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
Hinweise:
https://| Indikator | Farbe | Beschreibung |
|---|---|---|
[VULNERABLE] | Grün | Ziel läuft eine verwundbare n8n-Version (1.65.0 - 1.120.x) |
[SAFE] | Blau | Ziel läuft eine gepatchte Version (>= 1.121.0 oder < 1.65.0) |
[WARNING] | Gelb | n8n-Instanz erkannt, aber Versionsextraktion fehlgeschlagen |
[ERROR] | Rot | Verbindungsfehler, Zeitüberschreitung oder kein n8n-Ziel |
Das Tool nutzt passive Versionserkennung über die folgenden Schritte:
/signin-Endpunktn8n:config:sentry im 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 aktualisieren: Sofort auf Version 1.121.0 oder höher aktualisieren
# Using npm
npm update -g n8n
# Using Docker
docker pull n8nio/n8n:latest
Netzwerk-Isolation: Zugriff auf n8n-Instanzen einschränken
Workflow-Audit: Alle vorhandenen Workflows überprüfen