
Prova di concetto: CVE-2026-21858 è una vulnerabilità in n8n in cui attaccanti remoti non autenticati possono accedere a file sensibili.
Uno strumento di ricerca sulla sicurezza per il rilevamento di CVE-2026-21858, una vulnerabilità critica di esecuzione di codice remota nella piattaforma di automazione dei workflow n8n.
| Campo | Valore |
|---|---|
| Identificatore CVE | CVE-2026-21858 |
| Punteggio CVSS v3.1 | 10.0 (Critico) |
| Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Classificazione CWE | CWE-94: Controllo Improprio della Generazione di Codice |
| Fornitore | n8n GmbH |
| Prodotto | n8n Workflow Automation |
| Data di Divulgazione | Gennaio 2026 |
| Patch Disponibile | Sì (v1.121.0+) |
Esiste una vulnerabilità critica nelle versioni di n8n dalla 1.65.0 alla 1.120.x che consente ad attaccanti remoti non autenticati di eseguire codice arbitrario sul server sottostante. La vulnerabilità viene sfruttata tramite workflow basati su moduli appositamente predisposti, consentendo l'accesso non autorizzato al file system e l'esecuzione di comandi.
| Intervallo di Versioni | Stato |
|---|---|
| < 1.65.0 | Non Vulnerabile |
| 1.65.0 - 1.120.x | Vulnerabile |
| >= 1.121.0 | Patch applicata |
La vulnerabilità ha origine da una validazione insufficiente dell'input nel motore di esecuzione dei workflow basati su moduli. Durante l'elaborazione dei dati forniti dall'utente tramite i form trigger, n8n non sanifica correttamente i parametri di input prima di passarli ai contesti di esecuzione interni.
| Pacchetto | Versione Minima | Scopo |
|---|---|---|
| requests | 2.31.0 | Gestione delle richieste HTTP |
| urllib3 | 2.0.0 | Gestione di URL e connessioni |
| packaging | 23.0 | Logica di confronto delle versioni |
uv è un veloce installatore e risolutore di pacchetti Python.
# 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)
Verifica una singola istanza n8n per la presenza della vulnerabilità:
python main.py -u https://n8n.example.com
python main.py -u http://192.168.1.100:5678
Scansiona più target da un file:
python main.py -l targets.txt
Formato del File dei Target (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
Note:
https:// di defaultLo strumento impiega il rilevamento passivo della versione tramite i seguenti passaggi:
/signinn8n:config:sentry nell'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
Aggiorna n8n: Aggiorna immediatamente alla versione 1.121.0 o successiva
# Using npm
npm update -g n8n
# Using Docker
docker pull n8nio/n8n:latest
Isolamento di Rete: Limita l'accesso alle istanze n8n
Audit dei Workflow: Rivedi tutti i workflow esistenti
# Verify n8n version after update
n8n --version
# Or check via this tool
python main.py -u https://your-n8n-instance.com
# Expected: [SAFE] ... Version: 1.121.0+ (not vulnerable)
Esaminare i log di n8n e del server web per i seguenti pattern:
IMPORTANTE: LEGGERE PRIMA DELL'USO
Questo strumento è fornito esclusivamente per:
Usi Proibiti:
Responsabilità: Gli autori e i collaboratori non si assumono alcuna responsabilità per l'uso improprio di questo software. Gli utenti sono gli unici responsabili di garantire la conformità a tutte le leggi applicabili e di ottenere la dovuta autorizzazione prima di condurre qualsiasi test di sicurezza.
Avviso Legale: L'accesso non autorizzato a sistemi informatici è un reato nella maggior parte delle giurisdizioni, incluse, a titolo esemplificativo ma non esaustivo, le violazioni del Computer Fraud and Abuse Act (CFAA) negli Stati Uniti, del Computer Misuse Act nel Regno Unito e della legislazione analoga in tutto il mondo.
| Versione | Data | Modifiche |
|---|---|---|
| 1.0.0 | 2026-01-20 | Rilascio iniziale |
Questo progetto è fornito così com'è esclusivamente a scopo di ricerca sulla sicurezza autorizzata. Non viene fornita alcuna garanzia, esplicita o implicita. Utilizzare a proprio rischio e in conformità con le leggi applicabili.
| Indicatore | Colore | Descrizione |
|---|
[VULNERABLE] | Verde | Il target esegue una versione vulnerabile di n8n (1.65.0 - 1.120.x) |
[SAFE] | Blu | Il target esegue una versione corretta (>= 1.121.0 o < 1.65.0) |
[WARNING] | Giallo | Istanza n8n rilevata ma estrazione della versione fallita |
[ERROR] | Rosso | Errore di connessione, timeout o target non-n8n |
| Azione | Priorità | Descrizione |
|---|
| Gestione delle Patch | Critica | Stabilire procedure di aggiornamento automatico per n8n |
| Controllo degli Accessi | Alta | Implementare l'autenticazione per tutti gli endpoint n8n |
| Segmentazione di Rete | Alta | Isolare n8n dalle reti pubbliche |
| Monitoraggio | Media | Implementare logging e alerting per l'attività di n8n |
| Privilegio Minimo | Media | Eseguire n8n con i permessi minimi richiesti |
| Backup | Media | Mantenere backup regolari delle configurazioni dei workflow |