veilletech.fr
16 oct. Feed du jour
#05 SÉCURITÉ Faille

Langflow : une RCE via MCP stdio, déjà exploitée

Un champ « commande » dans une interface est un shell qui attend son utilisateur.

Langflow avant 1.9.0 laisse tout utilisateur connecté exécuter des commandes sur le serveur en ajoutant un serveur MCP avec le transport stdio (CVE-2026-105740, CVSS 9,9). Le capteur leurre de Previdian a enregistré 1 706 tentatives d'exploitation depuis le 19 septembre, venues de 28 adresses.

3 min de lectureintermédiairevidéo 1:16
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Ce que font les attaquants
  4. La limite
  5. Que faire
  6. À retenir

Ce qui se passe

Langflow, la plateforme open source (propriété d'IBM via DataStax) pour assembler des applications d'IA et des workflows d'agents, est activement attaquée sur la faille CVE-2026-105740, notée 9,9 en CVSS. Elle touche les versions antérieures à la 1.9.0. Previdian, qui l'observe sur ses capteurs leurres, a compté 1 706 tentatives depuis le 19 septembre 2026, venues de 28 adresses distinctes. L'activité a monté à 333 tentatives le 11 octobre, puis 316 le 15.

Le mécanisme

Tout utilisateur authentifié, administrateur ou non, peut déclarer un serveur MCP avec le transport stdio. Le champ command fourni est passé à bash -c "exec {command}" sans aucune validation, liste blanche ni bac à sable, et la commande s'exécute dès que la liste des serveurs est chargée. Le champ env laisse aussi injecter des variables d'environnement, par exemple LD_PRELOAD ou PATH. L'avis de sécurité est GHSA-7w94-79vh-5mr2.

Shell du serveurAPI LangflowAttaquantconnectéShell du serveurAPI LangflowAttaquantconnectéLa commandetourne avec lesdroits duprocessusLangflowLa configurationreste en base etse rejoue àchaquechargementPOST/api/v2/mcp/servers/nomavec un champ command1Configuration acceptée etenregistrée sans contrôle2GET/api/v2/mcp/servers?action_c-ount=true3bash -c exec command4
Du compte ordinaire à la commande exécutée sur le serveur

La configuration enregistrée persiste et se rejoue à chaque chargement de la liste. Elle vit dans les paramètres du projet, pas dans l'éditeur : contrairement au code d'un composant personnalisé, elle n'apparaît pas à la revue d'un flow. C'est donc aussi une porte dérobée durable.

Ce que font les attaquants

D'après Previdian, ils vérifient la version de Langflow, tentent /api/v1/auto_login (qui renvoyait 403 sur le leurre, car désactivé), puis se connectent avec un identifiant et un mot de passe courants et utilisent aussitôt le jeton obtenu sur la route de configuration MCP. Charges observées :

Une part importante vient de 192.255.229[.]92, déjà vue sur d'autres failles de Langflow (CVE-2026-55255, CVE-2026-9198, CVE-2026-0768) et de Flowise (CVE-2026-69255) : quelqu'un balaie méthodiquement les instances exposées.

La limite

Il faut un compte. Mais un mot de passe faible, ou la connexion automatique (LANGFLOW_AUTO_LOGIN), en fournit un. Le mois dernier, Langflow a aussi corrigé une autre injection de commande critique par la même configuration MCP stdio, CVE-2026-105697 (CVSS 9,9), dans la 1.10.3.

Que faire

  1. Monter en 1.10.3 ou plus : elle inclut le correctif de CVE-2026-105740 (apporté dès la 1.9.0) et celui du second défaut.
  2. Sans mise à jour possible : LANGFLOW_AUTO_LOGIN=false, ne pas exposer Langflow à des réseaux non fiables, ne donner de compte qu'à des personnes de confiance.
  3. Imposer des mots de passe forts et uniques.
  4. Relire les journaux d'authentification et les requêtes vers /api/v2/mcp/servers/ ; une entrée MCP stdio que vous n'avez pas créée est un signe de compromission.

Source : The Hacker News, 15 octobre 2026 ; avis : GHSA-7w94-79vh-5mr2.