CVE-2026-45830: ChromaDB tenant isolation bypass via IDOR in collection lookup

CVE-2026-45830 · Severity: high · CVSS 8.8 · Published 2026-06-12

ChromaDB is a popular vector database used to store and retrieve embeddings in AI applications. Due to a missing authorization check, any person with login credentials can access, modify, or delete data belonging to other customers in multi-tenant deployments. This breaks the isolation between different organizations using the same ChromaDB instance, potentially exposing sensitive data and allowing unauthorized tampering with critical information.

Technologies: Chroma, chromadb (PyPI). Vendors: Chroma, PyPI.

Quick answers

Is CVE-2026-45830 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-45830 being exploited in the wild.
How severe is CVE-2026-45830?
High severity, with a CVSS score of 8.8, published 12 June 2026.
Which products and versions are affected?
Chroma 0.4.17 and later; chromadb (PyPI) >= 0.4.17, <= 1.5.9, ECOSYSTEM:introduced=0.4.17,last_affected=1.5.9.
Is there a fix for CVE-2026-45830?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-45830 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-45830?
Check whether you run Chroma or chromadb (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is an Insecure Direct Object Reference (IDOR) / authorization bypass in ChromaDB's collection lookup mechanism. The root cause lies in chromadb/db/mixins/sysdb.py where the SQL query explicitly skips tenant and database filtering when a collection ID (UUID) is provided, with a code comment stating "Given an id, we can uniquely identify the collection so we don't need to filter databases." The SegmentAPI._get_collection() method in chromadb/api/segment.py calls get_collections(id=collection_id) with no tenant context, and since UUIDs are globally unique, the tenant filter is bypassed. The attack requires network access and valid authentication credentials, but no user interaction or elevated privileges. An attacker who knows a collection UUID from another tenant can perform full CRUD operations on that data. No patch version has been released as of the advisory date.

Affected products

  • ChromaDB chromadb 0.4.17 through 1.5.9

Identifiers

  • CVE-2026-45830
  • GHSA-2wm9-hf6c-p5cr
  • PYSEC-2026-3813

Timeline

  • 2026-02-17: disclosed: Initial disclosure to ChromaDB security team
  • 2026-06-12: disclosed: Public disclosure via GitHub Advisory and HiddenLayer SAI Security Advisory
  • 2026-06-12: advisory: CVE-2026-45830 published
  • 2026-08-24: other: GitHub Advisory updated

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.