FastAPI-implementasjonen av ChromaDB er sårbar. Rust-implementasjonen er ikke. Den forskjellen avgjør om RAG-prosjektet ditt kan kapres av en uautentisert angriper i kveld, ifølge sikkerhetsfirmaet HiddenLayer som offentliggjorde CVE-2026-45829 («ChromaToast») etter å ha varslet vedlikeholderne første gang 17. februar.
Feilen er en kappløpsbetingelse mellom kallet som henter en embeddings-modell fra Hugging Face og kallet som sjekker autentisering. Hvis du sender en POST mot /api/v2/tenants/.../collections med en custom embedding-funksjon som peker på en ondsinnet modell og trust_remote_code: true, blir Python-koden lastet ned og kjørt før ChromaDB rekker å avvise forespørselen. Returkoden blir 500, men shellet er allerede åpent.
«Autentiseringen mangler ikke, den er bare på feil sted. Når den fyrer, er modellen allerede hentet og kjørt.» — HiddenLayer, sikkerhetsrapport
ChromaDB har 13 millioner månedlige pip-nedlastinger og 27 500 GitHub-stjerner, og brukes blant annet av Mintlify, Weights & Biases og Factory AI i produksjon. Av instansene HiddenLayer fant via Shodan, kjører 73 % en sårbar versjon. Koden som angriperen kjører arver rettighetene til serverprosessen, som typisk betyr full tilgang til miljøvariabler, API-nøkler og monterte secrets.
«CVE-2026-45829 er CVSS 10.0 og rammer alle versjoner fra 1.0.0 til og med 1.5.8, uten offisiell patch per mai 2026.» — Cloud Security Alliance, forskningsnotat
Bakgrunn
Den underliggende feilen er todelt. ChromaDB stoler på klient-leverte modellnavn uten begrensning, og handler på den tilliten før den autentiserer brukeren. Hver av feilene alene ville være et problem; sammen gjør de hver Python-server med en nettverks-tilgjengelig port utnyttbar av hvem som helst som kan sende en HTTP-forespørsel. Samme defekt finnes også i V1-endepunktet, så det finnes ingen safe path å migrere til på Python-siden.
Hva bør du gjøre?
- Sjekk versjon: alt fra 1.0.0 til 1.5.8 av Python FastAPI-serveren er sårbart. Det er ingen offisiell patch ennå.
- Bytt til Rust-implementasjonen av ChromaDB.
chroma run-kommandoen og Docker Hub-imagene siden 1.0.0 deler ikke kodebanen og er bekreftet upåvirket. - Steng porten: sett ChromaDB bak VPN eller IP-whitelist hvis du må bli på Python-serveren. Følg GitHub-issue #6717 for status på patch.