Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Remote API call with valid low-priv credentials (PR:L), no UI, scope-changed because authz boundary across tenants is broken; high C/I on other tenants' data, no availability impact.
Primary rating from Vendor (HiddenLayer).
CVSS VectorVendor: HiddenLayer
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
1DescriptionCVE.org
All V1 collection-level endpoints in ChromaDB's Python project pass None for the tenant and database to the authorization layer, allowing attackers to bypass authorization controls by using the V1 endpoints.
Articles & Coverage 1
AnalysisAI
Authorization bypass in ChromaDB's Python implementation lets authenticated tenants reach data outside their authorization boundary by invoking the V1 collection-level REST endpoints, which forward None as both the tenant and database identifiers to the authorization layer. The flaw, disclosed by HiddenLayer, exposes high-impact reads and writes to cross-tenant collections in this Python vector database. No public exploit identified at time of analysis, and the issue is not on the CISA KEV list.
Technical ContextAI
ChromaDB is an open-source Python vector database widely used as the embedding/retrieval store behind LLM and RAG pipelines, exposing a multi-tenant REST API with both legacy V1 and newer V2 collection endpoints. The CWE-639 (Authorization Bypass Through User-Controlled Key) root cause is structural: V1 collection-level handlers in the Python codebase never populate the tenant and database arguments that the authorization layer expects, instead passing literal None values. The authorization check is therefore evaluated against a null tenant/database tuple rather than the caller's real scope, so any user who can authenticate at all is treated as if they had no tenant boundary. CPE cpe:2.3:a:chroma:chromadb:*:*:*:*:*:*:*:* indicates the issue affects the chromadb product across unspecified versions until a fixed release is identified.
RemediationAI
No vendor-released patch identified at time of analysis from the provided data, so confirm the fixed ChromaDB release via the HiddenLayer advisory at https://www.hiddenlayer.com/sai-security-advisory/2026-06-chromadb-4 and Chroma's GitHub releases before scheduling the upgrade. As a compensating control until patched, block or proxy-strip requests to the legacy V1 collection routes (e.g., /api/v1/collections and related collection-scoped paths) at the ingress or reverse proxy and force clients onto V2 endpoints, which avoids the None-tenant code path entirely; the trade-off is breaking any consumer still pinned to the V1 client. Where V1 must remain reachable, restrict network exposure to a single trusted tenant only and disable shared multi-tenant configurations, accepting that cross-tenant features will be unavailable. Audit logs for V1 collection calls that succeeded with cross-tenant identifiers to detect prior abuse.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing
Same technique Authentication Bypass
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36483
GHSA-x97m-f58v-9cwg