Skip to main content
ChromaDB CVE-2026-45829: Race Condition to RCEIncident
3 min readFor Security Engineers

ChromaDB CVE-2026-45829: Race Condition to RCE

Overview of the Vulnerability

ChromaDB versions 1.0.0 through 1.5.8 have a critical vulnerability allowing unauthenticated remote code execution. The flaw, tracked as CVE-2026-45829, exploits a race condition between embedding model parsing and authentication checks. An attacker can direct ChromaDB to a malicious model hosted on a platform like Hugging Face, leading the server to execute arbitrary code before verifying the request's legitimacy.

HiddenLayer discovered and disclosed the vulnerability. At the time of disclosure, over 73% of publicly accessible ChromaDB instances were running vulnerable versions, and no patch exists for the Python implementation.

Timeline of Events

The timeline highlights a failure in responsible disclosure:

  • HiddenLayer discovered the vulnerability and attempted to contact ChromaDB developers.
  • Communication failed, and the disclosure process did not reach the right people.
  • HiddenLayer proceeded with public disclosure.
  • Organizations using ChromaDB learned about the vulnerability from public channels, not the maintainers.
  • At the time of disclosure, no patch was available for the Python implementation.

This isn't a case of a quickly patched zero-day. It's a situation where the vendor was unaware of a critical vulnerability until public disclosure.

Failed or Missing Controls

Authentication Timing: ChromaDB loads embedding models before checking authentication, allowing execution of malicious code during parsing.

Input Validation: The application accepts external model references without validating the source, allowing attacker-controlled URLs to become executable code.

Secure Defaults: ChromaDB instances are often deployed with network exposure and no transport layer authentication. Application-level authentication can be bypassed via the race condition.

Dependency Trust Boundaries: The vulnerability assumes external embedding models are safe to parse, lacking sandboxing, signature verification, or a trust model for runtime dependencies.

Vendor Communication: The maintainers lacked an effective security contact method, an operational control failure.

Relevant Standards and Requirements

OWASP ASVS v4.0.3, Requirement 5.1.1: Validate and sanitize all external inputs, including model URLs, before processing.

OWASP ASVS v4.0.3, Requirement 1.4.2: Log authentication decisions without storing sensitive data. The race condition logs decisions after malicious code execution, highlighting the importance of order.

PCI DSS v4.0.1, Requirement 6.2.4: Secure development of bespoke software includes preventing injection flaws by validating input.

NIST 800-53 Rev 5, SI-10: Validate information inputs for accuracy and completeness before processing. ChromaDB processes first, validates second.

ISO 27001, Annex A.8.22: Segregate information services and systems on networks. Internet-accessible ChromaDB instances without segmentation fail this control.

Action Items for Your Team

Immediate Actions for ChromaDB Users:

  1. Switch to the Rust Implementation: The Rust version is not vulnerable. Migrate if possible.

  2. Remove Internet Accessibility: Ensure ChromaDB is behind a VPN or only accessible from your application tier.

  3. Implement Network-Level Authentication: Use mutual TLS, IP allowlisting, or a service mesh to enforce authentication before traffic reaches ChromaDB.

  4. Audit Embedding Model Sources: Know which sources your application trusts and create an allowlist.

Broader Program Changes:

Fix Vendor Contact Process: Establish a monitored security contact and policy. Test quarterly to ensure responsiveness.

Reorder Authentication Checks: Ensure authentication occurs before processing attacker-controlled input.

Build a Trust Model for Runtime Dependencies: Implement signature verification and source validation for external dependencies.

Create an Open-Source Dependency Response Plan: Monitor security mailing lists and CVE feeds. Use tools like Dependabot or Snyk for alerts.

This incident underscores that authentication is a control flow issue, not just a credential issue. The timing of your authentication checks is as critical as their existence.

Topics:Incident

You Might Also Like