CVE-2026-70488: open-webui: broken authz lets users delete others' KB data

GHSA-jxc9-xmc4-gr23 MEDIUM
Published August 4, 2026
CISO Take

A user with write access to any knowledge base in open-webui — owner, granted collaborator, or admin — can delete directories and file embeddings belonging to a knowledge base they don't control, because the sync cleanup endpoint verifies write access on the knowledge base named in the URL but then blindly acts on directory and file IDs supplied in the request body without checking those IDs actually belong to that knowledge base. The blast radius is narrower than it first appears: the attacker needs to already be a collaborator who can see the victim's shared knowledge base to learn its non-enumerable UUIDs, and the impact is data availability, not disclosure — deleted documents silently drop out of RAG retrieval and chat-with-file breaks, but nothing is exposed and an owner can restore state by re-adding files. With an EPSS score of 0.00213, no public exploit or Nuclei template, no CISA KEV listing, and a CISA SSVC decision of TRACK, this is not an urgent, actively-exploited threat, but the failure mode — silent, unauthorized removal of RAG source documents — is exactly the kind of integrity gap that erodes trust in retrieval results without an obvious alarm. Teams running open-webui with shared knowledge bases (workspace.knowledge enabled) should upgrade to 0.11.0 or later; in the interim, audit who holds write/collaborator access to shared knowledge bases and treat unexplained drops in document count or chat-with-file failures as a signal to investigate.

Sources: NVD GitHub Advisory EPSS CISA SSVC CISA KEV

What is the risk?

Medium risk overall. Exploitability is constrained by two preconditions: the attacker must already hold write access to at least one knowledge base (owner, write-grant, or admin — not available to an arbitrary unauthenticated or low-privilege user since workspace.knowledge is off by default), and must know the victim's directory or file UUIDs, which are not enumerable, so in practice the attacker is a read-only or write collaborator on a knowledge base shared beyond its owner. Deployments where no knowledge base is shared beyond its owner are not reachable at all. Impact is confined to integrity/availability of RAG associations and per-file vector caches — no confidentiality loss, and the underlying files and database rows survive, making recovery straightforward for the owner. EPSS (0.00213), absence from CISA KEV, no public exploit code, and an SSVC TRACK decision all support a non-urgent classification, but the low CVSS (4.3) understates the operational annoyance for any team relying on knowledge base completeness for compliance or audit workflows.

How does the attack unfold?

Initial Access
Attacker obtains legitimate write access to at least one knowledge base, as an owner, via a write-access grant, or through the admin role.
AML.T0012
Target Reconnaissance
Attacker, typically a collaborator on a shared knowledge base, learns the victim's directory or file UUIDs, which are not otherwise enumerable.
Exploitation
Attacker calls POST /api/v1/knowledge/{their-kb-id}/sync/cleanup with the victim's directory_ids/file_ids in the request body; the handler only checks write access on the URL's knowledge base, not ownership of the supplied IDs, so it processes them.
Impact
Directory deletion cascades to remove knowledge_file associations for every file in that subtree, silently dropping documents from the victim's RAG retrieval results, while the per-file vector cleanup independently breaks chat-with-file for targeted documents.

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Open WebUI pip >= 0.9.6, <= 0.10.2 0.11.0
153.3K 3 dependents Pushed 6d ago 83% patched ~5d to patch Full package profile →

Do you use Open WebUI? You're affected.

How severe is it?

CVSS 3.1
4.3 / 10
EPSS
0.4%
chance of exploitation in 30 days
Higher than 28% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Moderate

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 Low
A None

What should I do?

1 step
  1. Upgrade open-webui to 0.11.0 or later, which scopes both request-body loops (directory deletion and per-file vector cleanup) to the knowledge base named in the URL. Until patched: minimize the number of users with write access or collaborator grants on shared knowledge bases, and avoid sharing knowledge bases beyond their owner where not operationally necessary (recall workspace.knowledge is off by default — confirm it's still disabled if you don't need shared KBs). Detection: monitor for calls to /api/v1/knowledge/{id}/sync/cleanup where the directory_id/file_id parameters in the request body reference objects outside the URL's knowledge base, and watch for unexpected drops in document counts or chat-with-file failures reported by knowledge base owners, which would indicate the vulnerability was already exploited pre-patch.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact partial

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

How is it classified?

Auth Bypass DoS RAG Framework

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.4 - AI system data acquisition and preparation controls
OWASP LLM Top 10
LLM08:2025 - Vector and Embedding Weaknesses

Frequently Asked Questions

What is CVE-2026-70488?

A user with write access to any knowledge base in open-webui — owner, granted collaborator, or admin — can delete directories and file embeddings belonging to a knowledge base they don't control, because the sync cleanup endpoint verifies write access on the knowledge base named in the URL but then blindly acts on directory and file IDs supplied in the request body without checking those IDs actually belong to that knowledge base. The blast radius is narrower than it first appears: the attacker needs to already be a collaborator who can see the victim's shared knowledge base to learn its non-enumerable UUIDs, and the impact is data availability, not disclosure — deleted documents silently drop out of RAG retrieval and chat-with-file breaks, but nothing is exposed and an owner can restore state by re-adding files. With an EPSS score of 0.00213, no public exploit or Nuclei template, no CISA KEV listing, and a CISA SSVC decision of TRACK, this is not an urgent, actively-exploited threat, but the failure mode — silent, unauthorized removal of RAG source documents — is exactly the kind of integrity gap that erodes trust in retrieval results without an obvious alarm. Teams running open-webui with shared knowledge bases (workspace.knowledge enabled) should upgrade to 0.11.0 or later; in the interim, audit who holds write/collaborator access to shared knowledge bases and treat unexplained drops in document count or chat-with-file failures as a signal to investigate.

Is CVE-2026-70488 actively exploited?

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

How to fix CVE-2026-70488?

Upgrade open-webui to 0.11.0 or later, which scopes both request-body loops (directory deletion and per-file vector cleanup) to the knowledge base named in the URL. Until patched: minimize the number of users with write access or collaborator grants on shared knowledge bases, and avoid sharing knowledge bases beyond their owner where not operationally necessary (recall workspace.knowledge is off by default — confirm it's still disabled if you don't need shared KBs). Detection: monitor for calls to `/api/v1/knowledge/{id}/sync/cleanup` where the directory_id/file_id parameters in the request body reference objects outside the URL's knowledge base, and watch for unexpected drops in document counts or chat-with-file failures reported by knowledge base owners, which would indicate the vulnerability was already exploited pre-patch.

What systems are affected by CVE-2026-70488?

This vulnerability affects the following AI/ML architecture patterns: RAG pipelines, vector databases, knowledge management / document stores.

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

CVE-2026-70488 has a CVSS v3.1 base score of 4.3 (MEDIUM). The EPSS exploitation probability is 0.37%.

What is the AI security impact?

Affected AI Architectures

RAG pipelinesvector databasesknowledge management / document stores

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.6.2.4
OWASP LLM Top 10: LLM08:2025

What are the technical details?

Original Advisory

## Summary A user with write access to one knowledge base could delete directories, and drop file embeddings, belonging to knowledge bases they do not control. The sync cleanup endpoint verified write access on the knowledge base named in the URL and then acted on the directory and file ids supplied in the request body without checking that those objects belonged to that knowledge base. ## Preconditions Default configuration, no flags involved. The attacker needs write access to at least one knowledge base, which comes from owning one, from a write access grant, or from the admin role; `workspace.knowledge` is off by default, so an ordinary user cannot simply create one. They also need the victim's directory or file id, which are UUIDs and are not enumerable, so in practice the attacker is someone who can already see the target knowledge base, typically a read-only collaborator on a shared one. Deployments where no knowledge base is shared beyond its owner are not reachable. ## Impact The attacker deletes a target directory and, because the deletion runs without moving files to the parent, the knowledge_file associations for every file in that subtree are removed as well, so those documents silently drop out of the victim's knowledge base and out of its retrieval results. Separately, the per-file vector cleanup dropped the standalone `file-<id>` collection for any file id, breaking chat-with-file for that document. The stored files and their database rows survive, since that path was gated on file ownership, and an owner can restore the state by re-adding and reprocessing. Nothing about the target knowledge base's contents is disclosed to the attacker. ## Fix Fixed in https://github.com/open-webui/open-webui/pull/26722. Both request-body loops are now scoped to the knowledge base in the URL: a directory is resolved and skipped unless its `knowledge_id` matches, and the per-file vector cleanup runs only for files that are members of that knowledge base. Upgrading fully resolves the issue. ## Root cause Affected component: `backend/open_webui/routers/knowledge.py`, handler `sync_knowledge_cleanup`, endpoint `POST /api/v1/knowledge/{id}/sync/cleanup`. Affected setup: all builds from 0.9.6 onward, no optional dependency involved. The handler treated the write-access check on the URL knowledge base as authorization for everything it went on to do, but the objects it acted on came from the request body and were addressed by primary key alone. Directory deletion at the model layer deletes by directory id and has no notion of a parent knowledge base, so the only thing that could have bound the two together was a membership check in the handler, and there was none. The explicit directory-delete endpoint in the same router already carried that check, which is what makes this a gap in one handler rather than a missing model-layer control. ## Credits Reported by @whyiug.

Exploitation Scenario

An attacker is granted write or read access to a shared knowledge base as a legitimate collaborator (or owns a separate knowledge base of their own). While using the shared KB, they observe or infer the directory and file UUIDs used by the victim's knowledge base. The attacker then sends a `POST /api/v1/knowledge/{their-own-kb-id}/sync/cleanup` request, but populates the request body's directory_ids/file_ids with the victim's IDs instead of their own. Because the handler only validates write access against the knowledge base ID in the URL — not against the ownership of the IDs in the body — the victim's directory and its `knowledge_file` associations are deleted, and any targeted file's standalone vector collection is dropped, silently removing those documents from the victim's RAG retrieval results and breaking chat-with-file for the affected documents, without any visible confirmation to the victim until they notice missing content.

Weaknesses (CWE)

CWE-639 — Authorization Bypass Through User-Controlled Key: The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.

  • [Architecture and Design] For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested.
  • [Architecture and Design, Implementation] Make sure that the key that is used in the lookup of a specific user's record is not controllable externally by the user or that any tampering can be detected.

Source: MITRE CWE corpus.

CVSS Vector

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

Timeline

Published
August 4, 2026
Last Modified
August 5, 2026
First Seen
August 5, 2026

Related Vulnerabilities