Security Alert: CVE-2026-45829 exposes ChromaDB to remote code execution without authentication

Published 4 min de lectura 28 reading

A critical failure in ChromaDB Python API - the popular vector base used for recovery during LLM inference - allows non-authenticated attackers to run arbitrary code on exposed servers. Vulnerability has been recorded as CVE-2026-45829 and was reported by HiddenLayer researchers; his technical analysis points out that the authentication check occurs too late in the flow, after the server has already downloaded and executed remote code requested by an attacker.

The problem lies at a point in the API marked "authenticated" where a payload can inject model parameters that force ChromaDB to load remote devices (e.g. from Hugging Face) with mechanisms that allow you to run remote code, such as using trust _ remote _ code. According to HiddenLayer, the function that validates credentials is executed after the model load, which means that the malicious request can cause local execution even when the server responds with a 500 error later. The technical report with evidence is available in the analysis of HiddenLayer: https: / / www.hiddenlayer.com / research / chromatoast-served-pre-auth.

Security Alert: CVE-2026-45829 exposes ChromaDB to remote code execution without authentication
Image generated with IA.

ChromeDB is an open source project with a widely used Python distribution; the PyPI version accumulates millions of monthly downloads. The vulnerable code affects the implementation of the API server in Python and, according to researchers, the bug was introduced into a 1.x version and remained unpatched at least until 1.5.8. The maintainers published a version 1.5.9 after the report, but at the time of discovery it was not clear whether the changes completely correct the exploitable vector. The official project page serves as a reference: https: / / github.com / chroma-core / chroma and download statistics can be found in PyPI: https: / / pypistats.org / packages / chromadb.

The operational scope is relevant: local deployments that do not expose the Python server to HTTP and those that use the front in Rust would not be affected. However, Internet exposure scans by researchers suggest that a high proportion of accessible instances are in vulnerable versions; in production environments where the API is accessible from the public network, the risk of remote exploitation is real and serious.

From the risk management point of view, this vulnerability exemplifies two traditional problems in ML / AI applications: the execution of code from shared models (trust _ remote _ code) and the fragility of authorisation flows when the order of operations allows sensitive actions to occur before safety checks. The lesson is clear: loading devices without prior validation is equivalent to accepting unreliable remote execution.

If you manage ChromaDB instances, immediately prioritize these actions: avoid exposing the Python API to public traffic; if you need remote access, encapsulate the service behind an authenticated VPN or tunnel and limit IP access. Consider migrating to the front in Rust for deployments that require external exposure until there is confirmation of an audited patch. Restrict the API port by firewall rules and network policies and disable any option that makes trust _ remote _ code in running time.

In addition to access mitigation, add detection and research controls: search your unusual patterns such as download from model domains (e.g. huggingface.co), 500 errors correlated to model fitch, CPU peaks or new processes that run unexpected code and model file creation on unusual routes. If your organization uses internal security scanning, prioritize checks for outgoing traffic to public model repositories and set up alerts for device loading / execution operations.

Security Alert: CVE-2026-45829 exposes ChromaDB to remote code execution without authentication
Image generated with IA.

To reduce the long-term surface, it incorporates prior validation of ML artifacts: it scans model packages, avoids trust _ remote _ code save in controlled environments and signs / verifies internal models. It applies the principle of less privilege to the process that loads and runs models (contained environments, limited-permissions accounts) and adopts integrity controls and execution block that prevent remote artifacts from running system commands.

If you suspect that your instance may have been compromised, treat it as an incident: isolate the host, preserve logs and model artifacts for forensic analysis, break credentials that might have been exposed and review the integrity of your data and models. It communicates the finding of security equipment and, if a holding is confirmed, considers notifying affected customers in accordance with your regulatory obligations.

Finally, it closely follows the evolution of the case and applies the official patch only when the community or the maintainers publish a verified correction. Keep informed on the public sources of the incident and on the vulnerability sheet: https: / / nvd.nist.gov / vuln / detail / CVE-2026-45829. The combination of network mitigation, trust _ remote _ code rejection, audit of safe deployment models and practices is the best defense while the uncertainty about complete remediation persists.

Coverage

Related

More news on the same subject.