Vulnérabilité critique pré-authentification exposant les applications IA de ChromaDB à l'exécution de code à distance
Une vulnérabilité de gravité maximale, **CVE-2026-45829**, a été découverte dans la version Python **FastAPI** de **ChromaDB**, une base de données vectorielle populaire pour les applications IA. Cette faille permet aux attaquants non authentifiés d'exécuter du code arbitraire sur les serveurs exposés en injectant des paramètres de modèle malveillants avant que l'authentification ne soit effectuée.

Une vulnérabilité critique dans **ChromaDB**, une base de données vectorielle open-source largement utilisée dans les applications IA, présente un risque important pour les serveurs exposés. Suivie sous la référence **CVE-2026-45829**, cette faille permet aux attaquants non authentifiés d'obtenir l'exécution de code à distance.
### Détails de la vulnérabilité
La vulnérabilité, signalée à **ChromaDB** le 17 février et à laquelle **HiddenLayer** a attribué un score de gravité maximal, découle d'un mécanisme d'authentification mal implémenté. **ChromaDB** est utilisé comme backend de récupération IA dans les applications IA agentives et connexes. Il permet de récupérer des documents sémantiquement pertinents lors de l'inférence de modèles de langage étendus (LLM).
La base de code vulnérable réside dans la logique du serveur de l'API Python. Cela met le package **PyPI**, qui compte près de 14 millions de téléchargements mensuels, en danger lorsque les serveurs sont accessibles via HTTP. Les utilisateurs déployant **ChromaDB** localement sans exposer le serveur API, ou ceux utilisant le frontend **Rust**, ne sont pas affectés.
Selon **HiddenLayer**, la vulnérabilité se situe dans un endpoint d'API qui permet aux attaquants d'intégrer des paramètres de modèle avant que l'authentification ne soit vérifié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, contournant ainsi la vérification d'authentification. « L'authentification n'est pas manquante, [elle est] juste au mauvais endroit », explique **HiddenLayer**. « Au moment où elle se déclenche, le modèle a déjà été récupéré et exécuté. Le serveur rejette la requête, renvoie un 500, et le payload de l'attaquant a déjà été exécuté. »
### Exposition et atténuation
Les chercheurs indiquent que **CVE-2026-45829** a été introduite dans **ChromaDB** 1.0.0 et est restée non corrigée jusqu'à la version 1.5.8. La version 1.5.9 a été publiée il y a deux semaines ; cependant, il n'est pas clair si le problème de sécurité a été résolu. **HiddenLayer** rapporte plusieurs tentatives infructueuses de contact avec les développeurs depuis le 17 février.
Au moment de la publication, **ChromaDB** n'a pas répondu aux demandes de commentaires sur le statut de **CVE-2026-45829**. Cet article sera mis à jour dès que plus d'informations seront disponibles.
Les requêtes Shodan suggèrent qu'environ 73 % des instances exposées sur Internet exécutent une version vulnérable de **ChromaDB**.
Jusqu'à confirmation d'un patch, les utilisateurs concernés sont invités à utiliser le frontend **Rust** pour les déploiements ou à éviter d'exposer publiquement le serveur Python. Restreindre l'accès réseau au port de l'API **ChromaDB** est une autre mesure d'atténuation recommandée.
De plus, les chercheurs recommandent de scanner les artefacts de modèles ML avant l'exécution, car le chargement de modèles publics avec « trust_remote_code » exécute effectivement du code non fiable.
