Une nouvelle alerte sécurité secoue la communauté open source. Les chercheurs en cybersécurité ont mis en évidence une faille MCP Ruflo classée à sévérité maximale, capable de mener à une exécution de code à distance sans authentification. Le risque ne s’arrête pas là : l’attaque peut aussi conduire au vol de clés API et à une manipulation persistante de la mémoire de l’IA utilisée par la plateforme.
Concrètement, la vulnérabilité concerne le projet Ruflo, un agent meta-harness pour orchestrer des systèmes multi-agents, notamment avec Claude Code (Anthropic) et OpenAI Codex. Avant la version corrigée, certaines configurations par défaut exposent un pont MCP directement au réseau, ce qui ouvre la porte à l’appel d’outils sensibles.
Qu’est-ce que Ruflo et pourquoi la faille MCP est critique ?
Ruflo, initialement lancé sous le nom Claude Flow, sert à piloter des agents et à organiser des flux de travail autonomes. Le projet permet notamment de coordonner des « swarms » d’agents et de construire des systèmes conversationnels.
Ce qui rend la situation particulièrement préoccupante, c’est l’intégration via le Model Context Protocol (MCP). Dans la configuration concernée, le pont MCP expose un ensemble d’outils pouvant inclure des actions très puissantes : exécution de commandes shell, opérations sur une base de données, gestion d’agents et stockage de mémoire. Or, ces outils sont atteignables sans authentification lorsque l’instance est joignable sur le réseau.
La faille MCP Ruflo : ce qui se passe techniquement
La vulnérabilité a été référencée sous le code CVE-2026-59726 avec un score CVSS de 10,0. Elle affecte toutes les versions de Ruflo antérieures à la version 3.16.3.
Les chercheurs, dont l’équipe de Noma Security (Noma Labs), expliquent que la racine du problème vient d’une configuration réseau par défaut. Le fichier docker-compose.yml peut lier le port 3001 sur 0.0.0.0, ce qui rend le pont MCP accessible sur toutes les interfaces réseau. Autrement dit : si l’environnement ne bloque pas correctement l’accès via pare-feu, groupes de sécurité ou segmentation réseau, un attaquant externe peut interagir directement avec le pont.
Une requête HTTP suffit pour déclencher l’exécution
Selon les analyses, une simple requête HTTP POST vers le point /mcp permet d’invoquer la fonctionnalité d’appel d’outils. Le chemin d’attaque mentionné passe par la séquence :
- appel à tools/call
- puis déclenchement de terminal_execute dans le conteneur
Une fois cette étape franchie, l’attaquant peut obtenir une exécution côté système, et plus largement compromettre l’environnement qui héberge Ruflo.
Conséquences : vol d’identifiants et empoisonnement de la mémoire IA
Après avoir obtenu un point d’appui, l’attaquant peut exploiter les capacités offertes par la plateforme pour aller plus loin. Les chercheurs indiquent notamment que l’intrusion permet de :
- extraire les clés API utilisées par Ruflo pour communiquer avec des fournisseurs de modèles de langage (LLM) ;
- lire les conversations des utilisateurs stockées sur la plateforme ;
- perturber la mémoire du système d’IA afin d’influencer les futures réponses et le comportement.
En pratique, l’exécution de commandes agit comme une étape vers la compromission complète. Les chercheurs décrivent aussi la possibilité d’introduire un contenu malveillant dans le répertoire /app, permettant une forme de persistance.
Dans la description de la faille publiée via la base NVD (NIST National Vulnerability Database), il est précisé que, avant la version 3.16.3, les endpoints POST du pont MCP étaient disponibles sans authentification. Un attaquant réseau pouvait alors appeler tools/call, déclencher terminal_execute, obtenir un shell dans le conteneur du pont, récupérer les clés d’accès présentes dans l’environnement, puis empoisonner les modèles d’apprentissage utilisés pour guider les sorties ultérieures.
Le correctif : ce qui change dans Ruflo après la version 3.16.3
Suite à une divulgation responsable le 30 juin 2026, une correction a été intégrée rapidement. Le maintien du projet, notamment Reuven Cohen, a publié un patch dans les 24 heures.
Le cœur du correctif repose sur plusieurs mesures concrètes :
- Le pont MCP est désormais lié à l’interface de loopback par défaut, ce qui réduit drastiquement l’exposition externe.
- La fonctionnalité terminal_execute est désormais protégée côté serveur via des contrôles de type executeTool.
- La connexion MongoDB active désormais une logique d’authentification, afin d’empêcher le vol de conversations.
Dans les notes de version, une explication est donnée : le pont MCP fourni dans le fichier ruflo/docker-compose.yml exposait POST /mcp sans authentification, et les valeurs par défaut liaient aussi le pont et MongoDB sur toutes les interfaces.
Que faire si vous exécutez Ruflo en production ?
Si votre instance Ruflo est accessible depuis Internet, la recommandation est d’agir immédiatement. Les opérateurs sont invités à :
- Fermer les ports 3001 et 27017 au niveau du pare-feu (ou les limiter strictement via règles réseau).
- Rotaer toutes les clés API des fournisseurs LLM : considérez-les comme potentiellement compromises.
- Auditer le magasin de patterns (AgentDB) pour détecter d’éventuelles entrées injectées.
- Vérifier MongoDB afin d’identifier des signes de manipulation.
Les chercheurs soulignent aussi qu’une mise à jour logicielle ne suffit pas toujours : après une compromission, il faut traiter l’incident comme un événement de sécurité complet, avec rotation d’identifiants, audit des données et reconstruction des environnements.
Pourquoi cette attaque peut laisser des traces persistantes
L’un des points les plus préoccupants, mis en avant par Noma Security, concerne l’impact durable sur l’IA. La capacité à insérer des instructions malveillantes dans une mémoire persistante peut modifier la manière dont le modèle répond aux utilisateurs au-delà de la période initiale d’intrusion.
Autrement dit, même si l’accès réseau est coupé ou si le service est redémarré, des modifications peuvent avoir été enregistrées dans le système. C’est précisément pour cela que l’audit de la mémoire de l’agent et des données stockées est une étape indispensable.
Conclusion
La faille MCP Ruflo (CVE-2026-59726) illustre combien une exposition réseau par défaut peut transformer une intégration d’outils en surface d’attaque critique. Avant la version 3.16.3, la plateforme peut être amenée à exécuter des commandes à distance sans authentification, avec à la clé le vol de clés API, la récupération de conversations et un empoisonnement de la mémoire IA potentiellement persistant.
La bonne nouvelle, c’est qu’un correctif est disponible rapidement. La priorité reste maintenant : mettre à jour, réduire l’exposition réseau, puis roter les identifiants et auditer les données pour confirmer qu’aucune manipulation n’est restée.
Source: https://thehackernews.com/2026/07/ruflo-mcp-flaw-lets-unauthenticated.html
