La vulnérabilité critique n8n (CVSS 10.0) permet à des attaquants non authentifiés de prendre le contrôle total

La vulnérabilité critique n8n (CVSS 10.0) permet à des attaquants non authentifiés de prendre le contrôle total

La vulnérabilité critique n8n (CVSS 10.0) permet à des attaquants non authentifiés de prendre le contrôle total

Des chercheurs en cybersécurité ont révélé les détails d’une autre faille de sécurité de haute gravité dans n8n, une plate-forme d’automatisation de flux de travail populaire, qui permet à un attaquant distant non authentifié d’obtenir un contrôle total sur les instances sensibles.

La vulnérabilité, suivie comme CVE-2026-21858 (score CVSS : 10,0), a été nommé ni8mare par les Laboratoires de recherche Cyera. Le chercheur en sécurité Dor Attias a été reconnu pour avoir découvert et signalé la faille le 9 novembre 2025.

“Une vulnérabilité dans n8n permet à un attaquant d’accéder aux fichiers sur le serveur sous-jacent en exécutant certains flux de travail basés sur des formulaires”, a déclaré n8n dans un avis publié aujourd’hui. “Un flux de travail vulnérable pourrait accorder l’accès à un attaquant distant non authentifié. Cela pourrait entraîner l’exposition d’informations sensibles stockées sur le système et permettre une compromission supplémentaire en fonction de la configuration du déploiement et de l’utilisation du flux de travail.”

Avec le dernier développement, n8n a révélé quatre vulnérabilités critiques au cours des deux dernières semaines :

  • CVE-2025-68613 (Score CVSS : 9,9) – Un contrôle inadéquat des ressources de code gérées dynamiquement pourrait permettre à des attaquants authentifiés de réaliser l’exécution de code à distance (RCE) dans certaines conditions (corrigées dans les versions 1.120.4, 1.121.1 et 1.122.0).
  • CVE-2025-68668 o N8scape (score CVSS : 9,9) : une vulnérabilité de contournement du bac à sable qui pourrait permettre à un utilisateur authentifié avec l’autorisation de créer ou de modifier des flux de travail pour exécuter des commandes arbitraires sur le système hôte exécutant n8n (corrigé dans la version 2.0.0).
  • CVE-2026-21877 (Score CVSS : 10,0) – Le téléchargement sans restriction d’un fichier présentant une vulnérabilité de type dangereux pourrait permettre à un attaquant authentifié d’exécuter du code non fiable via le service n8n, conduisant à une compromission complète de l’instance (corrigé dans la version 1.121.3).
Cybersécurité

Cependant, contrairement à ces failles, CVE-2026-21858 ne nécessite aucune information d’identification et exploite une faille de confusion « type de contenu » pour extraire des secrets sensibles, usurper l’accès administrateur et même exécuter des commandes arbitraires sur le serveur.

La vulnérabilité affecte toutes les versions de n8n antérieures et incluant la 1.65.0. Il a été corrigé dans la version 1.121.0, publiée le 18 novembre 2025. Il convient de noter que les dernières versions de la bibliothèque sont 1.123.10, 2.1.5, 2.2.4 et 2.3.0.

Selon les détails techniques partagés par Cyera avec The Hacker News, le cœur du problème provient du webhook n8n et du mécanisme de gestion des fichiers. Les webhooks, qui sont cruciaux pour recevoir des données d’applications et de services lorsque certains événements se produisent, sont déclenchés une fois la requête entrante analysée par une fonction appelée « parseRequestBody() ».

Plus précisément, la fonction est conçue pour lire l’en-tête « Content Type » dans la requête et appeler une autre fonction pour analyser le corps de la requête :

  • Utilisez parseFormData(), également connu sous le nom d’« analyseur de téléchargement de fichiers », si l’en-tête « Content-Type » est « multipart/form-data », qui désigne les données du formulaire.
  • Utilisez parseBody(), également connu sous le nom d’« analyseur de corps normal » pour tous les autres types de contenu.

L’analyseur de téléchargement de fichiers, à son tour, utilise la fonction parse() associée à formidable, un module Node.js pour analyser les données du formulaire, et stocke le résultat décodé dans une variable globale appelée “req.body.files”. Ces données renseignées sont traitées par le webhook, qui n’est exécuté que lorsque l’en-tête « Content-Type » est défini sur « multipart/form-data ».

En revanche, l’analyseur de corps normal traite le corps de la requête HTTP entrante et stocke les données extraites dans une variable globale différente appelée « req.body ».

CVE-2026-21858 se produit lorsqu’une fonction de gestion de fichiers est exécutée sans vérifier au préalable que le type de contenu est « multipart/form-data », ce qui permet potentiellement à un attaquant de remplacer req.body.files. Cyera a déclaré avoir trouvé un thread vulnérable dans la fonction qui gère les soumissions de formulaires (“formWebhook()”), qui invoque une fonction de gestion de fichiers (“copyBinaryFile()”) pour agir sur “req.body.files”.

“Voici le problème : puisque cette fonction est appelée sans vérifier que le type de contenu est ‘multipart/form-data’, nous vérifions l’intégralité de l’objet req.body.files”, a déclaré Attias. “Cela signifie que nous contrôlons le paramètre de chemin d’accès au fichier, donc au lieu de copier un fichier téléchargé, nous pouvons copier n’importe quel fichier local sur le système.”

“Le résultat ? N’importe quel nœud après le nœud Form reçoit le contenu du fichier local au lieu de ce que l’utilisateur a téléchargé.”

Cybersécurité

Quant à la façon dont l’attaque pourrait se dérouler, envisagez un site Web doté d’une interface de discussion pour fournir des informations sur divers produits en fonction des fichiers de spécifications de produits téléchargés dans la base de connaissances de l’organisation à l’aide d’un flux de travail de formulaire. Avec cette configuration en place, un acteur malveillant peut exploiter la faille de sécurité pour lire des fichiers arbitraires de l’instance n8n et les transmettre à RCE en effectuant les étapes suivantes :

  • Utilisez la primitive de lecture arbitraire pour accéder à la base de données située dans “/home/node/.n8n/database.sqlite” et téléchargez-la dans la base de connaissances.
  • Extrayez l’ID utilisateur administrateur, l’e-mail et le mot de passe haché à l’aide de l’interface de chat
  • Utilisez à nouveau la primitive de lecture arbitraire pour charger un fichier de configuration situé dans “/home/node/.n8n/config” et extraire la clé secrète de chiffrement
  • Utilisez les informations d’utilisateur et de clé obtenues pour forger un faux cookie de session et obtenir un accès administrateur, ce qui entraînera un contournement de l’authentification.
  • Obtenez RCE en créant un nouveau flux de travail avec un nœud « Exécuter la commande »

“Le rayon d’explosion d’un n8n compromis est énorme”, a déclaré Cyera. “Une instance n8n compromise ne signifie pas seulement perdre un système, cela signifie donner aux attaquants les clés de tout. Les informations d’identification API, les jetons OAuth, les connexions à la base de données, le stockage dans le cloud, le tout centralisé en un seul endroit. n8n devient un point de défaillance unique et une mine d’or pour les acteurs malveillants.”

Compte tenu de la gravité de la faille, il est recommandé aux utilisateurs de mettre à jour vers la version corrigée ou une version ultérieure dès que possible pour obtenir une protection optimale, éviter d’exposer n8n à Internet et appliquer l’authentification pour tous les formulaires. Pour contourner le problème, il est recommandé de restreindre ou de désactiver les points de terminaison des formulaires et des webhooks accessibles au public.

Source link