CVE-2026-44557
Open WebUI: Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance. Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users. This vulnerability is fixed in 0.9.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.3
Open WebUI: Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance. Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users. This vulnerability is fixed in 0.9.0.
- Record
CVE-2026-44557- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
EUVDEUVD-2026-30620
4.3
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance. Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users. This vulnerability is fixed in 0.9.0.
- Record
EUVD-2026-30620- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-6c2x-gcp3-gp73
4.3
Open WebUI vulnerable to Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Affected Component
Retrieval collection access validation:
backend/open_webui/routers/retrieval.py(lines 2330-2355,_validate_collection_access)backend/open_webui/routers/retrieval.py(query endpoints, e.g.POST /query/doc)
Affected Versions
Current main branch (commit 6fdd19bf1) and likely all versions with the knowledge base subsystem.
Description
The _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance.
Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users.
# retrieval.py:2330-2355 — incomplete collection allowlist
def _validate_collection_access(user, collection_name, ...):
if collection_name.startswith('user-memory-'):
# Check user-memory ownership
...
elif collection_name.startswith('file-'):
# Check file access
...
# Everything else (including "knowledge-bases") passes through unchecked
This finding is the enabler for the KB destruction (process/web), KB content injection (process/file), and RAG vector search access bypass findings — all of which require knowing a target KB's UUID. Without this enumeration, UUIDs are random and practically unguessable; with it, UUIDs across the entire instance are trivially obtained.
CVSS 3.1 Breakdown
| Metric | Value | Rationale | |--------|-------|-----------| | Attack Vector | Network (N) | Exploited remotely via API call | | Attack Complexity | Low (L) | Single API call | | Privileges Required | Low (L) | Requires any authenticated user account | | User Interaction | None (N) | No victim interaction required | | Scope | Unchanged (U) | Impact within the knowledge base boundary | | Confidentiality | Low (L) | Discloses KB metadata (IDs, names, descriptions) across all users | | Integrity | None (N) | No direct data modification | | Availability | None (N) | No denial of service |
Attack Scenario
- Attacker (any authenticated user) sends:
POST /api/v1/retrieval/query/doc { "collection_name": "knowledge-bases", "query": "confidential" } _validate_collection_accessdoes not recognize theknowledge-basesprefix and lets the request pass.- The vector search returns the most relevant documents from the meta-collection — knowledge base records including their UUIDs, names, and descriptions — across all users on the instance.
- Attacker varies the query to enumerate more KBs:
"project","internal","private", etc. - Attacker now has a full target list for subsequent attacks (destruction, poisoning, content extraction).
Impact
- Information disclosure: KB names and descriptions may reveal sensitive project names, internal initiatives, or user activities
- Enabler for other attacks: Unlocks the following findings by supplying the required target UUIDs:
- KB destruction/poisoning via
process/web - Cross-user content injection via
process/file - RAG vector search access bypass in
retrieval/utils.py
- KB destruction/poisoning via
- Transforms these from theoretical (requires UUID guessing) to trivially exploitable (UUIDs enumerable)
Preconditions
- Attacker must have a valid user account
- Record
GHSA-6c2x-gcp3-gp73- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-200, CWE-862, CWE-863
- Updated
- 2026-11-02
NVD
4.3
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance. Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users. This vulnerability is fixed in 0.9.0.
- Record
CVE-2026-44557- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSV
4.3
Open WebUI: Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance. Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users. This vulnerability is fixed in 0.9.0.
- Record
CVE-2026-44557- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSVGHSA-6c2x-gcp3-gp73
4.3
Open WebUI vulnerable to Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Affected Component
Retrieval collection access validation:
backend/open_webui/routers/retrieval.py(lines 2330-2355,_validate_collection_access)backend/open_webui/routers/retrieval.py(query endpoints, e.g.POST /query/doc)
Affected Versions
Current main branch (commit 6fdd19bf1) and likely all versions with the knowledge base subsystem.
Description
The _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance.
Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users.
# retrieval.py:2330-2355 — incomplete collection allowlist
def _validate_collection_access(user, collection_name, ...):
if collection_name.startswith('user-memory-'):
# Check user-memory ownership
...
elif collection_name.startswith('file-'):
# Check file access
...
# Everything else (including "knowledge-bases") passes through unchecked
This finding is the enabler for the KB destruction (process/web), KB content injection (process/file), and RAG vector search access bypass findings — all of which require knowing a target KB's UUID. Without this enumeration, UUIDs are random and practically unguessable; with it, UUIDs across the entire instance are trivially obtained.
CVSS 3.1 Breakdown
| Metric | Value | Rationale | |--------|-------|-----------| | Attack Vector | Network (N) | Exploited remotely via API call | | Attack Complexity | Low (L) | Single API call | | Privileges Required | Low (L) | Requires any authenticated user account | | User Interaction | None (N) | No victim interaction required | | Scope | Unchanged (U) | Impact within the knowledge base boundary | | Confidentiality | Low (L) | Discloses KB metadata (IDs, names, descriptions) across all users | | Integrity | None (N) | No direct data modification | | Availability | None (N) | No denial of service |
Attack Scenario
- Attacker (any authenticated user) sends:
POST /api/v1/retrieval/query/doc { "collection_name": "knowledge-bases", "query": "confidential" } _validate_collection_accessdoes not recognize theknowledge-basesprefix and lets the request pass.- The vector search returns the most relevant documents from the meta-collection — knowledge base records including their UUIDs, names, and descriptions — across all users on the instance.
- Attacker varies the query to enumerate more KBs:
"project","internal","private", etc. - Attacker now has a full target list for subsequent attacks (destruction, poisoning, content extraction).
Impact
- Information disclosure: KB names and descriptions may reveal sensitive project names, internal initiatives, or user activities
- Enabler for other attacks: Unlocks the following findings by supplying the required target UUIDs:
- KB destruction/poisoning via
process/web - Cross-user content injection via
process/file - RAG vector search access bypass in
retrieval/utils.py
- KB destruction/poisoning via
- Transforms these from theoretical (requires UUID guessing) to trivially exploitable (UUIDs enumerable)
Preconditions
- Attacker must have a valid user account
- Record
GHSA-6c2x-gcp3-gp73- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Weakness
- CWE-200, CWE-862, CWE-863
- Updated
- 2026-11-02
OSVPYSEC-2026-2707
4.3
Open WebUI vulnerable to Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Global Knowledge Base Enumeration via knowledge-bases Meta-Collection
Affected Component
Retrieval collection access validation:
backend/open_webui/routers/retrieval.py(lines 2330-2355,_validate_collection_access)backend/open_webui/routers/retrieval.py(query endpoints, e.g.POST /query/doc)
Affected Versions
Current main branch (commit 6fdd19bf1) and likely all versions with the knowledge base subsystem.
Description
The _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance.
Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users.
# retrieval.py:2330-2355 — incomplete collection allowlist
def _validate_collection_access(user, collection_name, ...):
if collection_name.startswith('user-memory-'):
# Check user-memory ownership
...
elif collection_name.startswith('file-'):
# Check file access
...
# Everything else (including "knowledge-bases") passes through unchecked
This finding is the enabler for the KB destruction (process/web), KB content injection (process/file), and RAG vector search access bypass findings — all of which require knowing a target KB's UUID. Without this enumeration, UUIDs are random and practically unguessable; with it, UUIDs across the entire instance are trivially obtained.
CVSS 3.1 Breakdown
| Metric | Value | Rationale | |--------|-------|-----------| | Attack Vector | Network (N) | Exploited remotely via API call | | Attack Complexity | Low (L) | Single API call | | Privileges Required | Low (L) | Requires any authenticated user account | | User Interaction | None (N) | No victim interaction required | | Scope | Unchanged (U) | Impact within the knowledge base boundary | | Confidentiality | Low (L) | Discloses KB metadata (IDs, names, descriptions) across all users | | Integrity | None (N) | No direct data modification | | Availability | None (N) | No denial of service |
Attack Scenario
- Attacker (any authenticated user) sends:
POST /api/v1/retrieval/query/doc { "collection_name": "knowledge-bases", "query": "confidential" } _validate_collection_accessdoes not recognize theknowledge-basesprefix and lets the request pass.- The vector search returns the most relevant documents from the meta-collection — knowledge base records including their UUIDs, names, and descriptions — across all users on the instance.
- Attacker varies the query to enumerate more KBs:
"project","internal","private", etc. - Attacker now has a full target list for subsequent attacks (destruction, poisoning, content extraction).
Impact
- Information disclosure: KB names and descriptions may reveal sensitive project names, internal initiatives, or user activities
- Enabler for other attacks: Unlocks the following findings by supplying the required target UUIDs:
- KB destruction/poisoning via
process/web - Cross-user content injection via
process/file - RAG vector search access bypass in
retrieval/utils.py
- KB destruction/poisoning via
- Transforms these from theoretical (requires UUID guessing) to trivially exploitable (UUIDs enumerable)
Preconditions
- Attacker must have a valid user account
- Record
PYSEC-2026-2707- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
open-webuiPyPI |
through 0.8.12 | 0.9.0 |
open-webuiPyPI |
before 0.9.0, plus listed versions 0.1.1240.1.1250.2.00.2.10.2.2 Show 45 moreShow less0.2.30.2.40.2.50.3.00.3.10.3.100.3.120.3.130.3.140.3.150.3.160.3.170.3.17.dev20.3.17.dev30.3.17.dev40.3.17.dev50.3.180.3.190.3.20.3.200.3.210.3.220.3.230.3.240.3.250.3.260.3.270.3.27.dev10.3.27.dev20.3.27.dev30.3.280.3.290.3.30.3.300.3.30.dev10.3.30.dev20.3.310.3.31.dev10.3.320.3.330.3.33.dev10.3.340.3.350.3.40.3.5 |
0.9.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-44557 is a medium vulnerability (CVSS 4.3) in Openwebui Open Webui, published May 8, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in open-webui 0.9.0.
References
Left out here: 101 versions. The JSON record has them.