CVE-2026-45829
Description
A pre-authentication, code injection vulnerability in version 1.0.0 or later of the ChromaDB Python project allows an unauthenticated attacker to run arbitrary code on the server by sending a malicious model repository and trust_remote_code set to true in the /api/v2/tenants/{tenant}/databases/{db}/collections endpoint.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
An unauthenticated attacker can achieve remote code execution on ChromaDB Python backend by sending a crafted collection creation request with a malicious HuggingFace model and trust_remote_code enabled.
Vulnerability
A pre-authentication code injection vulnerability exists in the ChromaDB Python backend server (version 1.0.0 and later, up to and including version 1.5.8). The POST /api/v2/tenants/{tenant}/databases/{db}/collections endpoint processes user-controlled embedding function configuration before performing authentication checks. An attacker can set the model_name to a malicious HuggingFace model and pass trust_remote_code: true in the request. The server downloads and executes arbitrary code from HuggingFace, leading to RCE. The vulnerability is in the load_create_collection_configuration_from_json function and the code path that calls build_from_config. This only affects the Python server implementation; the default Rust server is not vulnerable [1][2].
Exploitation
An unauthenticated attacker with HTTP API access to the ChromaDB server can exploit this by sending a POST request to /api/v2/tenants/{tenant}/databases/{db}/collections (any tenant and database values are accepted) with a crafted JSON body containing an embedding function configuration that references a malicious HuggingFace repository and sets trust_remote_code to true. The server processes this configuration before authentication, downloads the model, and executes its code. The attacker does not need to provide any credentials. As shown in the reference demonstration, the server will later reject the request due to authentication failure, but the malicious code has already run [2].
Impact
On successful exploitation, an attacker gains full remote code execution on the server process. This results in complete compromise of the ChromaDB instance, including access to vector data, credentials, and the ability to pivot to internal networks. The impact is critical (CVSS score not specified by the source, but labeled as critical). The affected server runs with the privileges of the ChromaDB service user, offering potentially high-value access to the underlying operating system [2].
Mitigation
As of version 1.5.8, there is no official patch for this vulnerability. The ChromaDB project has not yet released a fixed version. Users are advised to avoid exposing the Python backend server to untrusted networks, or to use the default Rust server instead, which is not vulnerable. If the Python server must be used, restrict network access to trusted clients only and consider enforcing authentication at the network level (e.g., with a reverse proxy). The CVE is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog as of this writing [1][2].
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1- Range: >=1.0.0
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
2News mentions
2- Max-severity flaw in ChromaDB for AI apps allows server hijackingBleepingComputer · May 19, 2026
- Unpatched ChromaDB Vulnerability Can Lead to Server TakeoverSecurityWeek · May 19, 2026