Une faille de sécurité critique vient d’être révélée dans n8n, la plateforme open-source d’automatisation de workflows populaire auprès des développeurs et agences digitales au Maroc et ailleurs. Cette vulnérabilité, baptisée N8scape et trackée sous CVE-2025-68668, permet à un utilisateur authentifié de lancer des commandes système arbitraires sur le serveur hôte.
Avec un score CVSS de 9.9/10, elle touche les versions de n8n de 1.0.0 à moins de 2.0.0. Découverte par les chercheurs de Cyera Research Labs (Vladimir Tokarev et Ofek Itach), cette faille exploite un contournement de sandbox dans le nœud Python Code utilisant Pyodide.
Comment fonctionne l’attaque ?
Un utilisateur authentifié ayant le droit de créer ou modifier des workflows peut injecter du code Python malveillant dans le nœud Code. Grâce à une méthode comme _pyodide._base.eval_code(), l’attaquant échappe au sandbox et exécute des commandes OS avec les privilèges du processus n8n.
C’est un problème structurel : n8n bloque quelques fonctions risquées via une liste noire, mais laisse les capacités sous-jacentes accessibles, effondrant la frontière de confiance. Résultat ? Compromission totale du serveur, vol de clés API (Salesforce, Zendesk, etc.), et exfiltration de données sensibles.
Versions impactées et correctif
- Impactées : n8n 1.0.0 à < 2.0.0
- Correctif : Mise à jour vers la version 2.0.0, qui rend par défaut l’implémentation Python native basée sur task runner (introduite en 1.111.0).
n8n recommande aussi d’activer N8N_RUNNERS_ENABLED et N8N_NATIVE_PYTHON_RUNNER pour une isolation renforcée.
Solutions de contournement immédiates
Si la mise à jour n’est pas possible tout de suite, appliquez ces mesures :
- Désactiver le nœud Code :
NODES_EXCLUDE: '["n8n-nodes-base.code"]' - Désactiver Python :
N8N_PYTHON_ENABLED=false(depuis v1.104.0) - Activer task runner : Configurez
N8N_RUNNERS_ENABLEDetN8N_NATIVE_PYTHON_RUNNER
Ces étapes bloquent l’exploitation jusqu’à la mise à jour complète
