CVE-2026-54014

Open WebUI: Sibling-Prefix Path Traversal via /cache/{path} in open-webui/open-webui

Published Jun 23, 2026 CVSS 3.1 · 4.3 Medium EPSS < 1% KEV · Not listed
Description
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.6, a path traversal vulnerability exists in open-webui's cache file serving endpoint that allows any authenticated user to read files from sibling directories outside the intended cache directory, by exploiting an incomplete startswith containment check that lacks a trailing path separator. The root cause is that serve_cache_file() in open_webui/main.py validates the resolved path with file_path.startswith(os.path.abspath(CACHE_DIR)) — without appending os.sep. This allows any path resolving to a sibling directory whose name begins with cache (e.g. cache_sibling, cache_backup, cached_models) to pass validation. This vulnerability is fixed in 0.9.6.

Analysis

AI-generated

Technical impact

Open WebUI is a self-hosted AI platform that operates entirely offline. Prior to version 0.9.6, the cache file serving endpoint contains a path traversal flaw. The root cause is an incomplete startswith containment check that omits a trailing path separator when comparing the resolved file path to the absolute CACHE_DIR path. As a result, any authenticated user can request files from sibling directories whose names begin with "cache" (for example, cache_sibling, cache_backup, cached_models), because the check mistakenly deems those paths valid. This allows the reading of arbitrary files, thereby compromising confidentiality. The flaw is classified as CWE‑22 and was fixed in release 0.9.6.

Affected Systems

Open WebUI platforms running versions earlier than 0.9.6 are affected. The vulnerability exists in the open-webui/open-webui product as implemented before the 0.9.6 release. Users of Open WebUI 0.9.6 or later are not impacted.

Risk and Exploitability

The CVSS score of 4.3 indicates medium severity. No EPSS score is available, so the current exploitation probability cannot be quantified, and the vulnerability is not listed in the CISA KEV catalog. Attackers must be authenticated to exploit the flaw, but the code path allows reading arbitrary files within sibling directories. The incomplete validation provides a straightforward exploitation path once the user is logged in, making it a potentially useful tool for attackers who can gain initial user access.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Open WebUI to version 0.9.6 or later, where the path traversal check has been corrected with an appended path separator.
  • Verify that authentication is properly enforced for the cache endpoint to limit exposure in case further patches are applied.
  • Consider removing or renaming any sibling directories that begin with "cache" to eliminate the naming pattern that the vulnerability exploits, as an interim mitigation until the patch is applied.

Generated by OpenCVE AI on June 24, 2026 at 10:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-j2c8-v969-8r5c Open WebUI: Sibling-Prefix Path Traversal via /cache/{path}
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Open-webui
Open-webui open-webui
Vendors & Products Open-webui
Open-webui open-webui
Type Values Removed Values Added
Description Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.6, a path traversal vulnerability exists in open-webui's cache file serving endpoint that allows any authenticated user to read files from sibling directories outside the intended cache directory, by exploiting an incomplete startswith containment check that lacks a trailing path separator. The root cause is that serve_cache_file() in open_webui/main.py validates the resolved path with file_path.startswith(os.path.abspath(CACHE_DIR)) — without appending os.sep. This allows any path resolving to a sibling directory whose name begins with cache (e.g. cache_sibling, cache_backup, cached_models) to pass validation. This vulnerability is fixed in 0.9.6.
Title Open WebUI: Sibling-Prefix Path Traversal via /cache/{path} in open-webui/open-webui
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N'}

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jun 24, 2026, 1:32 PM
Reserved
Jun 11, 2026, 4:34 PM
Status
Analyzed
Published
Jun 23, 2026, 6:18 PM
Modified
Jun 25, 2026, 2:36 PM