n8n - CVE-2026-59257

Date de publication :

Il s'agit d'une vulnérabilité dans l'opération executeQuery du nœud MySQL v1, une version historique désormais dépréciée du connecteur.

n8n est une plateforme d'automatisation de workflows open source permettant de connecter différentes applications et sources de données via des nœuds configurables, incluant des connecteurs vers des bases de données.

L'opération insère directement les valeurs évaluées d'expressions {{ ... }} dans la chaîne SQL brute, sans paramétrage. Lorsqu'un workflow utilise cette opération avec des valeurs issues d'expressions et qu'il est relié à un déclencheur exposé publiquement tel qu'un nœud Webhook, une entrée contrôlée par un attaquant atteignant ces expressions provoque une injection SQL. Le nœud MySQL v2, qui utilise des requêtes paramétrées, n'est pas concerné.

Elle permet l'exécution de requêtes SQL arbitraires avec les privilèges des identifiants MySQL configurés.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Atteinte à la confidentialité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-89 : Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : En attente d’information

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

•   n8n versions antérieures à 1.123.61
•   n8n versions 2.0.0 jusqu'à 2.27.3
•   n8n versions 2.28.0

Contournement provisoire

•   Désactiver le nœud MySQL en ajoutant n8n-nodes-base.mySql à la variable d'environnement NODES_EXCLUDE, ou auditer et restreindre l'accès aux workflows utilisant le nœud MySQL v1 avec l'opération executeQuery.
•   S'assurer que les points d'entrée Webhook utilisés dans des workflows contenant des nœuds MySQL v1 executeQuery avec interpolation d'expressions requièrent une authentification.
•   Migrer les workflows concernés vers le nœud MySQL v2, qui utilise des requêtes paramétrées.

Solutions ou recommandations

•   n8n versions 1.123.61 et supérieures
•   n8n versions 2.27.4 et supérieures
•   n8n versions 2.28.1 et supérieures