CVE-2026-6615 : Path Traversal sur TransformerOptimus SuperAGI
Résumé exécutif
Section intitulée « Résumé exécutif »SuperAGI est un framework open source conçu pour le développement et le déploiement d’agents IA autonomes. Alors que les organisations déploient de plus en plus de frameworks d’IA agentique connectés à leurs réseaux internes, les vulnérabilités au sein de ces outils présentent une surface d’attaque massive.
La CVE-2026-6615 (CVSS 7.3 - 7.5) expose une faille fondamentale dans le composant de gestion des ressources du framework. La vulnérabilité réside dans le gestionnaire de téléversement multipart (Multipart Upload Handler), spécifiquement dans le fichier superagi/controllers/resources.py. En raison d’une absence totale de nettoyage (sanitization) sur l’argument Name du fichier, un attaquant peut utiliser des séquences de traversée de répertoire (../) pour s’échapper du répertoire de téléchargement prévu. Cela lui permet d’écrire des fichiers arbitraires n’importe où sur le système de fichiers hôte, ouvrant la voie à une RCE immédiate (ex: en écrasant des clés SSH ou des tâches cron).
Analyse technique de la vulnérabilité
Section intitulée « Analyse technique de la vulnérabilité »La vulnérabilité trouve son origine dans la CWE-22 (Limitation incorrecte d’un chemin d’accès à un répertoire restreint).
Lorsqu’un utilisateur ou un agent téléverse un fichier vers le gestionnaire de ressources de SuperAGI, la requête HTTP POST est acheminée vers le point de terminaison /api/resources/add/<id>. Le code Python en arrière-plan dans superagi/controllers/resources.py extrait le nom du fichier depuis les données du formulaire multipart et l’utilise directement dans les opérations du système de fichiers, sans le passer par une fonction de nettoyage sécurisée (comme werkzeug.utils.secure_filename ou os.path.basename).
En interceptant la requête HTTP et en modifiant le paramètre filename pour y inclure des charges utiles de traversée (ex: ../../../../../etc/cron.d/malicious), l’attaquant force l’application Python à résoudre le chemin par rapport au répertoire racine, entraînant une écriture de fichier arbitraire avec les privilèges du processus SuperAGI.
Flux d’exploitation vers la RCE
Section intitulée « Flux d’exploitation vers la RCE »La complexité de l’attaque est faible et un exploit peut être réalisé à l’aide de proxys web standards (comme Burp Suite).
- Identification de la cible : l’attaquant accède à l’interface web du gestionnaire de ressources SuperAGI ou interagit directement avec l’API.
- Préparation de la charge : l’attaquant génère une clé publique SSH (qui servira de contenu pour la charge utile).
- Interception : l’attaquant téléverse un fichier
.txtstandard mais intercepte la requêtePOSTvers/api/resources/add/<id>. - Manipulation du chemin : l’attaquant modifie le paramètre
filenamedans le corps multipart pour :../../../../../../../../../../../home/<user>/.ssh/authorized_keys. - Écriture de fichier arbitraire : le serveur SuperAGI traite la requête et écrit la clé SSH de l’attaquant dans le fichier
authorized_keysde la victime. - Exécution de code à distance : l’attaquant se connecte au serveur via SSH sans mot de passe, obtenant un accès shell complet à la machine hôte.
Investigation forensique (CSIRT)
Section intitulée « Investigation forensique (CSIRT) »Puisque cette attaque s’appuie sur le processus Python pour écrire des fichiers, les analystes DFIR doivent se concentrer sur les créations de fichiers inattendues et les requêtes web suspectes.
- Anomalies du système de fichiers : recherchez des modifications récentes sur des fichiers de configuration hautement sensibles (
~/.ssh/authorized_keys,/etc/passwd,/etc/cron.d/*) dont le propriétaire ou le créateur est le compte de service exécutant SuperAGI. - Journaux web et API : auditez les journaux du proxy inverse (Nginx/Traefik) ou les journaux de l’application SuperAGI à la recherche de requêtes
POSTvers/api/resources/add/*contenant des caractères de traversée encodés en URL (ex:%2E%2E%2F).
Détection et Threat Hunting
Section intitulée « Détection et Threat Hunting »Déployez la logique de détection suivante pour identifier les tentatives d’exploitation contre le gestionnaire de ressources SuperAGI.
title: Écriture de fichier arbitraire SuperAGI (CVE-2026-6615)id: e4b5c6d7-8f9a-0b1c-2d3e-4f5a6b7c8d9estatus: experimentaldescription: Détecte le processus Python de SuperAGI écrivant des fichiers dans des répertoires système sensibles (ex: .ssh), indiquant une exploitation réussie par traversée de répertoire.logsource: category: file_event product: linuxdetection: selection: Image|endswith: - '/python' - '/python3' TargetFilename|contains|any: - '/.ssh/authorized_keys' - '/etc/cron.d/' - '/etc/passwd' - '/etc/shadow' condition: selectionlevel: hightags: - attack.initial_access - attack.t1190 - cve.2026-6615# Recherche de charges utiles de traversée ciblant le point de terminaison de téléversement des ressources SuperAGIindex=web_logs http_method=POST uri_path="/api/resources/add/*"| search request_body="*..%2F*" OR request_body="*../*" OR request_body="*..\\*"| table _time, src_ip, uri_path, request_body, status| sort - _timeAtténuation et défense
Section intitulée « Atténuation et défense »L’éditeur n’ayant pas publié de correctif officiel pour les versions jusqu’à 0.0.14, les organisations doivent implémenter des contrôles de compensation immédiatement :
- Filtrage WAF : déployez des règles strictes de pare-feu d’application web (WAF) pour bloquer les requêtes HTTP entrantes contenant
../ou%2E%2E%2Fdans les limites de formulaires multipart. - Isolation par conteneur : assurez-vous que SuperAGI est déployé dans un conteneur Docker fortement restreint. Montez le système de fichiers hôte en lecture seule (Read-Only) partout où cela est possible, et limitez les privilèges de l’utilisateur du conteneur pour empêcher les écritures dans
/root/ou/etc/. - Correction du code (manuelle) : éditez manuellement
superagi/controllers/resources.pypour imposer l’utilisation dewerkzeug.utils.secure_filename()sur l’argumentNameavant de sauvegarder le fichier sur le disque.
Sources et références
Section intitulée « Sources et références »- Analyse de vulnérabilité Akaoma : Détails de l’exploit CVE-2026-6615
- Shimi’s Cyber World : Path Traversal in SuperAGI Exploitable Remotely
- Bug Bounty Huntr : Path Traversal leads to RCE in transformeroptimus/superagi
- Analyse liée : Sécurité des agents IA et défense en profondeur