En bref

  • CVE-2026-39888 — Évasion de sandbox dans PraisonAI permettant l'exécution de code arbitraire à distance (CVSS 9.9)
  • Versions affectées : PraisonAI antérieures à 1.5.115 — exploitation sans authentification
  • Action urgente : mettre à jour vers PraisonAI 1.5.115 immédiatement

Les faits

La vulnérabilité CVE-2026-39888, publiée le 8 avril 2026, affecte PraisonAI, un framework open source de gestion d'agents IA multi-équipes. Avec un score CVSS de 9.9 sur 10, il s'agit de l'une des failles les plus critiques révélées cette semaine. Cette vulnérabilité a été identifiée dans la fonction execute_code() du module praisonaiagents.tools.python_tools, qui exécute du code utilisateur dans un sous-processus lorsque le mode sandbox est activé.

Le mécanisme de protection repose sur une liste de blocage AST (Abstract Syntax Tree) qui ne contient que 11 noms d'attributs bloqués, un nombre nettement insuffisant pour couvrir l'ensemble des vecteurs d'attaque possibles. Selon les chercheurs ayant découvert la faille, un attaquant peut contourner cette protection en exploitant les attributs de traversée de frames Python : __traceback__, tb_frame, f_back et f_builtins.

En provoquant une exception contrôlée, l'attaquant expose le dictionnaire des builtins Python du processus wrapper, ce qui lui permet de récupérer la fonction exec et d'exécuter du code arbitraire en dehors de toute restriction sandbox. La faille ne nécessite aucune authentification et est exploitable à distance via le réseau, ce qui en fait un vecteur d'attaque particulièrement dangereux pour les déploiements exposés sur Internet.

Impact et exposition

Toute organisation utilisant PraisonAI en version antérieure à 1.5.115 est potentiellement vulnérable. La surface d'attaque est considérable : les plateformes d'orchestration d'agents IA sont souvent déployées avec des accès réseau ouverts pour permettre les interactions entre agents. L'exploitation réussie permet l'exécution de code arbitraire avec les privilèges du processus PraisonAI, ce qui peut conduire à une compromission complète du serveur hôte. Les environnements de production exposant des endpoints PraisonAI sur Internet sans mécanisme d'authentification additionnel sont les plus à risque. Aucune exploitation active n'a été confirmée publiquement à ce jour, mais la simplicité du vecteur d'attaque rend une exploitation imminente très probable. Cette faille s'inscrit dans un contexte plus large de vulnérabilités critiques dans les outils IA qui rappelle l'importance de sécuriser les frameworks d'agents autonomes.

Recommandations immédiates

  • Mettre à jour PraisonAI vers la version 1.5.115 qui corrige cette vulnérabilité — advisory GitHub PraisonAI Security
  • Si la mise à jour n'est pas possible immédiatement, désactiver le mode sandbox et restreindre strictement les entrées utilisateur acceptées par la fonction execute_code()
  • Auditer les logs d'exécution pour détecter toute tentative d'exploitation utilisant les attributs __traceback__, tb_frame, f_back
  • Restreindre l'accès réseau aux endpoints PraisonAI via un pare-feu ou un reverse proxy avec authentification
  • Vérifier qu'aucun processus suspect n'a été lancé par le service PraisonAI sur les systèmes en production

⚠️ Urgence

Avec un CVSS de 9.9 et un vecteur d'attaque réseau sans authentification, cette vulnérabilité représente un risque maximal pour les déploiements PraisonAI exposés. La simplicité de l'exploitation et la disponibilité publique des détails techniques imposent une mise à jour immédiate.

Comment savoir si je suis vulnérable ?

Vérifiez votre version de PraisonAI avec la commande pip show praisonai ou praisonai --version. Si la version affichée est inférieure à 1.5.115, votre installation est vulnérable. Vérifiez également si le service est accessible depuis l'extérieur en testant la connectivité réseau sur le port d'écoute configuré. Les déploiements utilisant Docker doivent vérifier la version de l'image utilisée dans leur fichier docker-compose.yml ou Dockerfile.

Quels sont les risques concrets d'exploitation ?

Un attaquant exploitant cette faille peut exécuter n'importe quel code Python sur le serveur hôte, ce qui inclut : lecture et exfiltration de fichiers sensibles, installation de backdoors, mouvement latéral vers d'autres systèmes du réseau, et utilisation du serveur compromis comme pivot pour d'autres attaques. Les organisations utilisant PraisonAI pour orchestrer des agents ayant accès à des API tierces ou des bases de données voient leur périmètre de compromission étendu à l'ensemble des ressources accessibles par ces agents.

Votre infrastructure IA est-elle exposée ?

Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger les vulnérabilités de vos plateformes d'agents IA.

Demander un audit