Aller au contenu

CVE-2026-30617 : Exécution de code à distance dans LangChain-ChatChat

LangChain-ChatChat 0.3.1 contient une vulnérabilité critique d’exécution de code à distance (RCE). La faille permet à des attaquants distants non authentifiés de configurer un serveur MCP STDIO avec des commandes et arguments contrôlés par l’attaquant, lesquels sont ensuite exécutés par l’application sans validation suffisante. Cette vulnérabilité, identifiée sous le numéro CVE-2026-30617, présente un risque grave pour la disponibilité du service et l’intégrité des données.

La vulnérabilité réside dans la logique de configuration et de traitement des serveurs MCP STDIO de LangChain-ChatChat. Plus précisément, les valeurs de commande et d’argument fournies par l’utilisateur sont transmises aux StdioServerParameters sans assainissement ou liste blanche approuvée.

Lorsqu’une configuration de serveur MCP malveillante est appliquée et que le MCP est activé pour l’exécution d’agent, l’application déclenche l’exécution de ces commandes en tant que sous-processus avec les privilèges du processus LangChain-ChatChat.

  1. Accès : l’attaquant accède à l’interface de gestion MCP publiquement exposée du service LangChain-ChatChat ciblé.
  2. Configuration : l’attaquant ajoute une nouvelle configuration de serveur MCP STDIO, injectant des commandes et arguments malveillants dans le JSON.
  3. Exécution : une fois le serveur MCP initialisé et l’activité de l’agent lancée, l’application traite la configuration malformée, menant à une injection de commande sur l’hôte sous-jacent.

Surveillance des processus

Surveiller les processus enfants de l’utilisateur du service LangChain-ChatChat qui corrèlent avec une activité suspecte de shell ou de script.

Audit de configuration

Auditer régulièrement l’interface de gestion MCP et les fichiers de configuration pour détecter des définitions de serveurs STDIO non autorisées ou inattendues.

Mettre à niveau LangChain-ChatChat vers une version corrigée dès qu’elle est disponible. En attendant, restreindre l’accès à l’interface de gestion MCP et s’assurer que l’application s’exécute avec les privilèges minimaux requis.