Des bugs RCE critiques exposent la plateforme d’automatisation n8n à une compromission au niveau de l’hôte

Lucas Morel

Un bogue de sandbox JavaScript classé CVSS 9.9 permet aux attaquants de contourner les protections basées sur AST, tandis qu’un contournement de l’exécution de Python affecte les déploiements en mode interne courants dans les configurations d’entreprise.

Deux failles critiques d’évasion du bac à sable dans la populaire plate-forme d’automatisation des flux de travail n8n permettent aux utilisateurs authentifiés d’exécuter du code à distance sur les instances concernées.

Selon de nouvelles découvertes de JFrog, les protections du sandboxing censées contenir une logique de flux de travail non fiable peuvent être contournées, exposant ainsi les environnements d’automatisation d’entreprise à une compromission totale de l’hôte. Les entreprises qui s’appuient sur n8n pour orchestrer les intégrations, automatiser les processus internes et rationaliser les services cloud et les systèmes sur site courent des risques. Les chercheurs de JFrog ont déclaré que le mécanisme de sandboxing de n8n peut échouer dans des configurations spécifiques lorsque les utilisateurs évaluent des expressions ou exécutent des scripts personnalisés.

Les échappements Sandbox peuvent exposer les informations d’identification, les API et l’infrastructure sensibles des moteurs de flux de travail concernés.

L’échappement sandbox du moteur d’expression active JavaScript RCE

L’un des problèmes identifiés par JFrog affecte le moteur d’expression JavaScript de n8n, conçu pour évaluer en toute sécurité les expressions fournies par l’utilisateur lors de l’exécution du flux de travail. Selon les chercheurs, des failles dans la façon dont les expressions sont nettoyées permettent à un attaquant autorisé à créer ou à modifier des flux de travail d’échapper au bac à sable et d’exécuter du JavaScript arbitraire sur l’hôte sous-jacent.

JFrog a expliqué dans un article de blog que les protections du moteur d’expressions peuvent être contournées par des charges utiles soigneusement conçues qui exploitent les hypothèses de la logique du sandboxing. Une fois échappé, l’attaquant n’est plus limité à l’évaluation des expressions et peut exécuter des commandes arbitraires dans le contexte du service n8n.

« Lorsque le moteur d’expression rencontre un bloc {{}}, il traite le contenu inclus en le contournant vers un constructeur de fonction JavaScript, qui exécute ensuite le code fourni », ont expliqué les chercheurs. n8n utilise un bac à sable basé sur AST pour neutraliser les constructions JavaScript dangereuses avant leur exécution. Un cas limite manqué dans l’instruction « with » obsolète permet aux attaquants de contourner ces vérifications et de réaliser l’exécution de code arbitraire.

Les chercheurs ont démontré comment contourner les contraintes du bac à sable Python, en accordant l’accès à des ressources système qui devraient être interdites.

Besoin urgent de mettre à jour

Les deux problèmes ont été corrigés et les entreprises exécutant n8n doivent s’assurer qu’elles utilisent des versions mises à jour. En attendant que les correctifs soient appliqués, il est recommandé aux organisations de vérifier attentivement qui dispose des autorisations nécessaires pour créer ou modifier des flux de travail, en particulier dans les environnements où n8n a accès aux réseaux internes, aux secrets ou aux API privilégiées.

CVE-2026-1470 a été corrigé dans les versions 1.123.17, 2.4.5 et 2.5.1, tandis que CVE-2026-0863 est résolu dans les versions 1.123.14, 2.3.5 et 2.4.2. La mise à niveau vers l’une de ces versions atténue le risque d’exploitation, ont noté les chercheurs.

VulnérabilitésSécurité