Une vulnérabilité de niveau maximal dans la version Python FastAPI la plus récente du projet ChromaDB permet à des attaquants non authentifiés d’exécuter du code arbitraire sur des serveurs exposés.
Cette faille est référencée sous l’identifiant CVE-2026-45829. Elle a été signalée aux responsables de ChromaDB le 17 février. La société HiddenLayer, qui l’a découverte, lui a attribué le score de sévérité le plus élevé.
ChromaDB est une base de données vectorielle open-source qui sert de backend pour la récupération d’informations dans les applications d’IA, notamment dans le domaine de l’IA agentique. Ce système permet de retrouver des documents sémantiquement pertinents pendant le processus d’inférence des grands modèles de langage.
La faille concerne le code source qui contient la logique du serveur d’API Python vulnérable. Le package PyPI, qui compte près de 14 millions de téléchargements par mois, est donc menacé lorsque les serveurs sont accessibles via HTTP.
Les utilisateurs qui déploient ChromaDB localement sans exposer le serveur d’API sur internet, ainsi que ceux qui emploient le frontend écrit en Rust, ne sont pas affectés par le CVE-2026-45829.
Selon HiddenLayer, un point de terminaison d’API vulnérable, pourtant marqué comme nécessitant une authentification, autorise les attaquants à intégrer des paramètres de modèle avant que la vérification d’identité ne soit effectuée.
Un attaquant peut envoyer une requête spécialement conçue pour forcer ChromaDB à charger un modèle malveillant depuis la plateforme Hugging Face et à l’exécuter localement. Le contrôle d’authentification n’intervient qu’après cette étape, ce qui contourne la sécurité.
Les chercheurs expliquent que l’authentification n’est pas absente, mais simplement mal placée. Au moment où elle se déclenche, le modèle a déjà été récupéré et exécuté. Le serveur rejette alors la requête avec une erreur 500, mais la charge utile malveillante de l’attaquant a déjà été lancée.

Exposition et mesures d’atténuation
Les chercheurs indiquent que cette faille a été introduite dans ChromaDB à partir de la version 1.0.0. Elle était toujours présente et non corrigée dans la version 1.5.8. Il y a deux semaines, le mainteneur a publié la version 1.5.9. Cependant, il n’est pas certain que le problème de sécurité ait été résolu.
Depuis le 17 février, les chercheurs de HiddenLayer ont tenté à plusieurs reprises de contacter le développeur par courriel et via les réseaux sociaux, mais ils n’ont reçu aucune réponse.
Une recherche effectuée sur Shodan révèle qu’environ 73% des instances de Chroma exposées sur internet exécutent une version vulnérable du logiciel.
Tant que la correction du CVE-2026-45829 n’est pas confirmée, la recommandation pour les utilisateurs concernés est d’opter pour le frontend Rust pour leurs déploiements ou d’éviter d’exposer publiquement le serveur Python. Une autre mesure consiste à restreindre l’accès réseau au port de l’API ChromaDB.
Les chercheurs conseillent également d’analyser les artefacts des modèles de machine learning avant leur exécution, car le chargement de modèles publics avec l’option ‘trust_remote_code’ équivaut à exécuter du code non vérifié.
