Onderzoekers hebben details gepubliceerd over een ernstige kwetsbaarheid in ChromaDB, een open-source vector database, die onbevoegde aanvallers in staat stelt om willekeurige code uit te voeren en gevoelige gegevens op getroffen systemen te benaderen. De kwetsbaarheid, geregistreerd als CVE-2026-45829, bevindt zich in de API-server van ChromaDB en werd aan het licht gebracht door onderzoekers van HiddenLayer nadat zij geen reactie kregen van de ontwikkelaars van ChromaDB, een van de populairste vector databases voor AI-toepassingen.

De kwetsbaarheid ontstaat door een raceconditie tussen de code die ChromaDB gebruikt om embedding modelreferenties te verwerken en de authenticatiecontrole. Hierdoor kan een aanvaller een verzoek sturen om kwaadaardig opgezette AI-modellen te laden vanaf externe bronnen zoals Hugging Face, nog voordat authenticatie wordt gecontroleerd. Volgens het rapport van HiddenLayer is de authenticatie niet afwezig, maar verkeerd geplaatst, waardoor de server het verzoek uiteindelijk afwijst met een foutmelding, terwijl de kwaadaardige code al is uitgevoerd.

De kwetsbaarheid is aanwezig in ChromaDB-versies van 1.0.0 tot en met 1.5.8. Pogingen om de ontwikkelaars sinds februari via verschillende kanalen te bereiken bleven onbeantwoord, wat heeft geleid tot publieke bekendmaking. Meer dan 73% van de publiek toegankelijke ChromaDB-instanties die via de Shodan zoekmachine zijn te vinden, draaien een kwetsbare versie. Totdat er een patch beschikbaar is, adviseren de onderzoekers om ChromaDB-servers te draaien met de Rust-implementatie, die niet kwetsbaar is, in plaats van de Python FastAPI-server. Daarnaast wordt geadviseerd om netwerktoegang tot de ChromaDB-poort te beperken tot vertrouwde IP-adressen.

Vector databases zoals ChromaDB worden vaak gebruikt om de kennis van grote taalmodellen te verrijken met externe of bedrijfsdata binnen retrieval-augmented generation (RAG) workflows. Deze databases slaan ongestructureerde data op als vector embeddings, die worden gegenereerd met behulp van gespecialiseerde embeddings modellen. ChromaDB laat gebruikers verschillende embeddings modellen kiezen, waarbij per collectie een specifieke embeddingsfunctie kan worden ingesteld. Een van de parameters, trust_remote_code: true, zorgt ervoor dat het model loader mechanisme extra Python modules kan downloaden en uitvoeren die met het model worden meegeleverd.

Hierdoor kunnen aanvallers een nieuwe collectie aanmaken met een aangepaste embeddingsfunctie die verwijst naar een kwaadaardig model op Hugging Face. Dit betekent dat een model niet slechts passieve data is, maar feitelijk code die bij het laden wordt uitgevoerd. Het laden van een model van een onbetrouwbare bron is daarmee gelijk aan het uitvoeren van onbetrouwbare code. De combinatie van deze kwetsbaarheid en de verkeerde plaatsing van authenticatiecontrole maakt ongeauthenticeerde remote code execution mogelijk.