CVE-2026-45829 (ChromaToast) : injection de code pré-authentifiée CVSS 10.0 dans ChromaDB v1.0.0-v1.5.9 via le serveur Python FastAPI. Aucun patch disponible, plus de 4 500 instances….
À retenir
- CVE-2026-45829 (ChromaToast) : RCE pré-auth CVSS 10.0 dans ChromaDB Python FastAPI
- Versions v1.0.0 à v1.5.9 vulnérables, soit toutes les versions stables du projet
- Cause : traitement de trust_remote_code et model_name avant toute vérification d'authentification (CWE-94)
- Aucun correctif : isoler derrière un pare-feu ou migrer vers le serveur Rust chroma run
En bref
- CVE-2026-45829 (alias ChromaToast) : injection de code arbitraire pré-authentifiée CVSS 10.0 dans ChromaDB Python FastAPI, versions v1.0.0 à v1.5.9
- Systèmes affectés : tout déploiement ChromaDB utilisant le serveur Python FastAPI (installation pip standard), versions v1.0.0 à v1.5.9 incluses
- Action urgente : isoler immédiatement les instances derrière un pare-feu ou migrer vers le serveur Rust (chroma run) non vulnérable — aucun patch disponible
Les faits
Référencée sous l'identifiant CVE-2026-45829 et baptisée « ChromaToast » par les chercheurs de HiddenLayer, cette vulnérabilité atteint le score CVSS 4.0 maximal de 10.0 (Critique), une note rarissime réservée aux failles exploitables à distance sans authentification ni interaction utilisateur. Elle affecte l'intégralité des versions stables de ChromaDB, de la v1.0.0 à la v1.5.9 incluse, soit toute la durée d'existence du projet sous sa forme actuelle. ChromaDB s'est imposée comme l'une des bases de données vectorielles open-source les plus déployées dans les architectures d'intelligence artificielle générative, où elle stocke les embeddings alimentant les pipelines RAG (Retrieval-Augmented Generation). Une exécution de code arbitraire pré-authentification sur ce composant expose donc l'ensemble du socle documentaire, des clés d'API et des secrets applicatifs hébergés sur l'infrastructure compromise.
Techniquement, la faille réside dans un défaut d'ordonnancement des contrôles de sécurité dans le serveur Python FastAPI de ChromaDB. Lorsqu'un client envoie une requête POST vers l'endpoint /api/v2/.../collections, le serveur traite la configuration de la fonction d'embedding — notamment les champs trust_remote_code: true et model_name — avant d'effectuer toute vérification d'authentification. Cette inversion fatale de l'ordre d'exécution (CWE-94 : Code Injection) permet à un attaquant non authentifié de faire pointer model_name vers un dépôt HuggingFace arbitraire contenant du code Python malveillant, que le serveur exécutera immédiatement avec les privilèges du processus ChromaDB.
La chaîne d'exploitation est remarquablement simple et ne nécessite aucune connaissance préalable de la cible. Un attaquant publie un dépôt HuggingFace contenant un fichier de configuration malveillant avec un hook d'exécution automatique, puis envoie une seule requête HTTP POST non authentifiée vers le serveur ChromaDB en précisant l'adresse de ce dépôt. Le serveur importe le modèle, exécute le code embarqué, et l'attaquant obtient un shell interactif sur le système hôte. Aucun proof-of-concept n'a été officiellement publié par HiddenLayer au moment de la divulgation, mais la mise en oeuvre de l'exploit est triviale pour tout praticien compétent en sécurité offensive.
La surface d'exposition est considérable. Une analyse de reconnaissance internet conduite par HiddenLayer a identifié plus de 4 500 instances ChromaDB accessibles depuis Internet, dont 73 % sont estimées vulnérables. Ces instances sont hébergées sur des infrastructures cloud publiques, des environnements de développement exposés et des plateformes de prototypage IA qui ont omis de configurer un pare-feu applicatif ou un réseau privé virtuel. La popularité de ChromaDB dans les stacks GenAI modernes (LangChain, LlamaIndex, AutoGPT) amplifie mécaniquement le risque et étend la population cible à un très grand nombre d'organisations.
La gravité de l'exploitation réussie dépasse la simple compromission du processus ChromaDB. Un attaquant ayant obtenu l'exécution de code peut pivoter latéralement vers d'autres composants de l'infrastructure, exfiltrer l'ensemble des embeddings et des données sensibles stockées (clés API, tokens d'authentification présents dans les variables d'environnement), installer des backdoors persistants, ou déployer des charges utiles de type ransomware. Dans un contexte de pipeline RAG ou d'agent autonome, la compromission de la base vectorielle peut également permettre une attaque par empoisonnement des données (data poisoning) qui affectera silencieusement les réponses du modèle de langage en production.
La découverte de ChromaToast a été annoncée par les chercheurs de HiddenLayer, spécialisés dans la sécurité des systèmes d'intelligence artificielle. La vulnérabilité est classifiée sous CWE-94 (Improper Control of Generation of Code) et se voit attribuer le vecteur d'attaque CVSS 4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H, traduisant une exploitation réseau sans condition préalable ni interaction utilisateur, avec impact total sur la confidentialité, l'intégrité et la disponibilité du système cible et des systèmes avoisinants. Selon le NVD/NIST, aucune version corrigée n'est disponible au moment de la publication de cet article.
L'équipe de développement de ChromaDB a été notifiée via un processus de divulgation responsable. Le délai de correction s'avère contraint par l'architecture même du serveur FastAPI, qui nécessite une refonte du pipeline de traitement des requêtes pour déplacer l'authentification avant toute instanciation de composant externe. En attendant un patch officiel, la seule mitigation complète consiste à utiliser le serveur Rust alternatif de ChromaDB, dont l'implémentation n'inclut pas la logique vulnérable, ou à isoler strictement les instances ChromaDB derrière un réseau privé sans exposition Internet.
D'après les données Shodan et Censys analysées par les chercheurs, la majorité des instances exposées se situent dans des environnements de développement ou de staging déployés sur AWS, Google Cloud et Azure sans segmentation réseau appropriée. Un nombre non négligeable d'instances de production sont également accessibles publiquement, signe d'une tendance à négliger la sécurité réseau pour les composants d'infrastructure IA considérés comme internes. Le fait qu'aucune version corrigée ne soit disponible transforme cette vulnérabilité en une menace persistante à haute probabilité d'exploitation de masse imminente.
Impact et exposition
Toute organisation déployant ChromaDB v1.0.0 à v1.5.9 avec le serveur Python FastAPI (installation standard via pip install chromadb) est potentiellement exposée. L'exploitation ne requiert aucune authentification, aucun compte existant dans le système, et aucune connaissance préalable de l'infrastructure cible. Il suffit que le port d'écoute ChromaDB (par défaut 8000) soit accessible depuis Internet ou un réseau non de confiance pour qu'un attaquant puisse déclencher une exécution de code complète.
Les secteurs les plus exposés sont les startups IA et les équipes de recherche utilisant ChromaDB comme base vectorielle pour leurs LLM en production, les plateformes SaaS intégrant du RAG ou des agents autonomes, et les environnements de développement cloud déployés sans politique de sécurité réseau stricte. Selon HiddenLayer, 73 % des instances Internet-facing identifiées sont encore en v1.5.9 ou antérieure, soit dans la plage intégralement vulnérable.
L'exploitation in-the-wild n'était pas encore confirmée au moment de la publication de l'analyse de HiddenLayer. Toutefois, le caractère trivial de l'exploit, l'absence de correctif, et la visibilité publique de l'analyse technique font de ChromaToast un candidat idéal pour une exploitation de masse imminente par des acteurs opportunistes, notamment des groupes ransomware ciblant les infrastructures cloud IA.
La compromission d'une instance ChromaDB en production peut avoir des répercussions au-delà du serveur lui-même : exfiltration de tous les embeddings (qui peuvent contenir des représentations vectorielles de données propriétaires, médicales ou financières), accès aux clés API stockées en variables d'environnement (OpenAI, Anthropic, AWS, GCP), et dans certaines architectures, pivotement vers les clusters Kubernetes ou les bases de données backend hébergeant les données sources.
Recommandations immédiates
- Migrer immédiatement vers le serveur Rust de ChromaDB : utiliser
chroma run --path /chemin/dbavec l'implémentation Rust non vulnérable — advisory : HiddenLayer Security Research CVE-2026-45829 ChromaToast - Si la migration vers Rust n'est pas possible : isoler strictement les instances ChromaDB derrière un pare-feu ou VPN, bloquer tout accès depuis Internet au port 8000 (ou port personnalisé configuré)
- Auditer les logs d'accès pour des requêtes POST suspectes vers l'endpoint collections avec des champs trust_remote_code ou model_name pointant vers des dépôts HuggingFace inconnus
- Révoquer et renouveler toutes les clés API et tokens présents dans les variables d'environnement du serveur ChromaDB si une exposition passée est suspectée
- Surveiller les dépôts HuggingFace référencés dans les configurations ChromaDB pour détecter des modèles non autorisés ou récemment modifiés
⚠️ Urgence critique — Aucun patch disponible
CVE-2026-45829 (ChromaToast) présente un CVSS 10.0 avec exploitation pré-authentifiée réseau et aucune version corrigée disponible. Avec plus de 4 500 instances exposées sur Internet dont 73 % vulnérables, la probabilité d'exploitation active est extrêmement élevée. Toute instance ChromaDB accessible depuis Internet doit être considérée comme potentiellement compromise. Isolation réseau immédiate obligatoire.
Comment savoir si je suis vulnérable ?
Vérifiez votre version ChromaDB avec python -c "import chromadb; print(chromadb.__version__)" ou pip show chromadb. Si la version est comprise entre 1.0.0 et 1.5.9 inclus et que vous utilisez le serveur Python par défaut, vous êtes vulnérable. Pour vérifier si votre instance est exposée depuis Internet, testez curl -s http://[IP_PUBLIQUE]:8000/api/v2/heartbeat depuis un réseau externe — une réponse JSON confirme l'exposition publique.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
[email protected]
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-9198 : Langflow RCE non-auth CVSS 9.8 CISA KEV
CVE-2026-9198 : exécution de code Python arbitraire sans authentification (CVSS 9.8) dans IBM Langflow OSS. Deux requêtes HTTP suffisent pour un accès complet au serveur. Scans massifs et exploitation active confirmés, CISA KEV le 4 août 2026.
CVE-2026-34486 : Apache Tomcat RCE désérialisation KEV
CVE-2026-34486 : régression dans Apache Tomcat transformant EncryptInterceptor en fail-open, permettant une RCE via désérialisation Java sur les clusters. Exploitée par un APT chinois selon Unit 42 de Palo Alto Networks. CISA KEV confirmé.
CVE-2026-8037 : LoadMaster RCE pré-auth CVSS 9.6 KEV
CVE-2026-8037 est une injection de commandes pré-authentifiée CVSS 9.6 dans Progress Kemp LoadMaster permettant l'exécution de code root sans aucune authentification — 792 tentatives d'exploitation documentées, CISA KEV confirmé.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire