Ce qui s'est passé
CVE-2026-45829 est une vulnérabilité critique dans ChromaDB's optional Python FastAPI server. Une demande de collecte peut fournir une configuration de fonction d'intégration qui fait référence au code du modèle distant, et le backend Python concerné peut initialiser cette configuration avant la fin de l'autorisation [S1][S2][S3]. ChromaDB's default Rust frontend n'utilise pas le chemin Python concerné et n'est pas couvert par cet avis [S2][S3].
Impact et conditions préalables
L'exploitation nécessite un déploiement qui exécute réellement le backend Python FastAPI, accepte les requêtes provenant d'une source non fiable et peut traiter la collecte et la configuration des fonctions d'intégration contrôlées par l'attaquant. Si ces conditions sont remplies, l'avis décrit l'exécution de code avec les privilèges de processus du serveur ChromaDB [S1][S3].
L'enregistrement CNA répertorie ChromaDB 1.0.0 et versions ultérieures comme étant affectés [S1]. Au moment de cet examen, la recherche publique n'a pas identifié de version Python corrigée confirmée par le fournisseur, et le registre officiel des packages répertorié 1.5.9 comme la version stable la plus récente [S3][S4]. Cela ne rend pas chaque déploiement ChromaDB vulnérable : l'interface Rust par défaut se trouve en dehors du chemin affecté [S2][S3].
Des solutions concrètes
- Accédez au serveur Rust. Utilisez Chroma's supported Rust-based server path, tel que
chroma runou le déploiement de conteneur pris en charge Rust [S2][S3]. - Restreindre l’exposition des services. Exigez un accès à un réseau de confiance, un VPN, un SSO ou un proxy inverse authentifié avant que les requêtes n'atteignent ChromaDB. Ne comptez pas sur le masquage d’une seule route API.
- Restreindre l’accès sortant. Limitez les sorties inutiles du service ChromaDB vers les registres de modèles publics et les services d'hébergement de code.
- Examinez l’exposition possible. Si le backend Python était accessible à partir d'un réseau non fiable, examinez les journaux d'accès ChromaDB, les téléchargements de modèles inattendus, l'activité des processus et de l'hôte, les variables d'environnement, les informations d'identification montées et les données accessibles.
- Validez les futurs correctifs Python. Si vous restez sur le backend Python, déployez uniquement une version corrigée confirmée par le fournisseur ou un rétroport pris en charge et vérifiez le processus en cours, l'image et l'inventaire des packages.
Couvert par FixVibe
FixVibe couvre cet avis avec une vérification en lecture seule qui s'exécute uniquement pour les cibles d'analyse active vérifiées. Il identifie le ChromaDB Python deployment pertinent et met en corrélation ses informations de publication avec les données consultatives examinées. La vérification ne crée ni ne modifie les ressources ChromaDB, ne fournit pas de référentiel de modèles, n'active pas la confiance du code à distance, ne déclenche pas les téléchargements de modèles, ne teste pas le contournement d'autorisation ou n'exécute pas de code.
Une découverte est unconseil basé sur la version. Les clients voient le service détecté, le contexte du backend et de la version, la confiance, les références sources, les conditions préalables et les conseils de remédiation. Cela ne constitue pas une preuve que l'autorisation a été contournée, qu'un modèle distant a été chargé ou que du code a été exécuté. Les rétroportages privés, les forks, les métadonnées de service obsolètes et les intermédiaires qui reproduisent l'API en amont peuvent nécessiter la confirmation de l'opérateur.
