CVE-2026-54021: open-webui: auth bypass reaches restricted Ollama backends

GHSA-9rpj-v7hf-vv2w MEDIUM
Published June 17, 2026
CISO Take

Open WebUI versions up to 0.9.5 contain an incorrect authorization flaw where any authenticated user can supply an arbitrary url_idx path parameter to route inference requests to Ollama backends they were never authorized to access, including backends the admin explicitly disabled. In multi-tenant or multi-tier deployments — common where different user groups access different model capability tiers — a low-privilege user can silently bypass backend isolation and consume restricted compute resources without detection. EPSS places this vulnerability in the top 86th percentile for exploitation likelihood, and the attack requires only a valid account and knowledge of a URL parameter pattern visible in open-webui's public source code. Upgrade to open-webui 0.9.6 immediately, which enforces backend authorization on every indexed route via the new validate_ollama_backend_idx() function.

Sources: NVD EPSS GitHub Advisory ATLAS

What is the risk?

Medium severity (CVSS 6.3). Requires authentication, which limits exposure to insider threats and compromised accounts rather than unauthenticated external attackers. The attack is low-complexity and requires no user interaction, making it trivially executable once the url_idx pattern is known from the public codebase. EPSS top 86th percentile signals meaningful exploitation probability despite no public exploit existing at time of analysis. Risk is highest in multi-backend deployments with tiered access controls — single-backend deployments have no exploitable backend isolation to bypass. No active exploitation detected, no CISA KEV listing.

How does the attack unfold?

Initial Access
Attacker authenticates to Open WebUI using a legitimate low-privilege account, satisfying the only enforced access control check in the affected routes.
AML.T0012
Discovery
Attacker identifies the url_idx path parameter pattern from open-webui's public GitHub source code and enumerates available backend indices by iterating integer values and observing response differences.
AML.T0006
Exploitation
Attacker crafts inference requests with arbitrary url_idx values targeting restricted or admin-disabled Ollama backends, bypassing the model-to-backend allow-list check skipped when url_idx is caller-supplied.
AML.T0049
Impact
Attacker routes unlimited requests to restricted high-capability backends, consuming compute resources beyond their authorization level and invalidating backend isolation policies silently.
AML.T0034

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Open WebUI pip <= 0.9.5 0.9.6
148.3K 4 dependents Pushed today 81% patched ~6d to patch Full package profile →

Do you use Open WebUI? You're affected.

How severe is it?

CVSS 3.1
6.3 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 11% 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 Low
I Low
A Low

What should I do?

4 steps
  1. Upgrade open-webui to >= 0.9.6 immediately — the fix adds validate_ollama_backend_idx() enforced on all eight affected indexed routes, returning 403 for any non-admin caller-supplied url_idx not in the requested model's allowed backend list.

  2. If immediate upgrade is not possible, restrict Open WebUI access to trusted network segments and audit backend configurations to reduce the number of high-privilege backends reachable.

  3. Review server access logs for anomalous url_idx integer values in request paths (/ollama/api/chat/{N}, /ollama/api/generate/{N}, etc.) — any non-zero or non-standard index value from non-admin accounts is an indicator of reconnaissance or exploitation.

  4. Treat all multi-backend deployments as affected until patched and revoke access for accounts with unusually high inference volume pending upgrade.

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?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 9 - Risk management system
ISO 42001
A.6.2 - AI risk management process
NIST AI RMF
GOVERN 1.3 - Organizational roles, responsibilities, and authorities related to AI risk
OWASP LLM Top 10
LLM10:2025 - Unbounded Consumption

Frequently Asked Questions

What is CVE-2026-54021?

Open WebUI versions up to 0.9.5 contain an incorrect authorization flaw where any authenticated user can supply an arbitrary url_idx path parameter to route inference requests to Ollama backends they were never authorized to access, including backends the admin explicitly disabled. In multi-tenant or multi-tier deployments — common where different user groups access different model capability tiers — a low-privilege user can silently bypass backend isolation and consume restricted compute resources without detection. EPSS places this vulnerability in the top 86th percentile for exploitation likelihood, and the attack requires only a valid account and knowledge of a URL parameter pattern visible in open-webui's public source code. Upgrade to open-webui 0.9.6 immediately, which enforces backend authorization on every indexed route via the new validate_ollama_backend_idx() function.

Is CVE-2026-54021 actively exploited?

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

How to fix CVE-2026-54021?

1. Upgrade open-webui to >= 0.9.6 immediately — the fix adds validate_ollama_backend_idx() enforced on all eight affected indexed routes, returning 403 for any non-admin caller-supplied url_idx not in the requested model's allowed backend list. 2. If immediate upgrade is not possible, restrict Open WebUI access to trusted network segments and audit backend configurations to reduce the number of high-privilege backends reachable. 3. Review server access logs for anomalous url_idx integer values in request paths (/ollama/api/chat/{N}, /ollama/api/generate/{N}, etc.) — any non-zero or non-standard index value from non-admin accounts is an indicator of reconnaissance or exploitation. 4. Treat all multi-backend deployments as affected until patched and revoke access for accounts with unusually high inference volume pending upgrade.

What systems are affected by CVE-2026-54021?

This vulnerability affects the following AI/ML architecture patterns: Multi-backend model serving, LLM management UIs, Role-based LLM access control systems.

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

CVE-2026-54021 has a CVSS v3.1 base score of 6.3 (MEDIUM). The EPSS exploitation probability is 0.21%.

What is the AI security impact?

Affected AI Architectures

Multi-backend model servingLLM management UIsRole-based LLM access control systems

MITRE ATLAS Techniques

AML.T0012 Valid Accounts
AML.T0034 Cost Harvesting
AML.T0040 AI Model Inference API Access
AML.T0049 Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Article 9
ISO 42001: A.6.2
NIST AI RMF: GOVERN 1.3
OWASP LLM Top 10: LLM10:2025

What are the technical details?

Original Advisory

Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.6, several direct, index-addressed Ollama proxy routes accept a caller-supplied url_idx path parameter and use it as a raw index into the admin-configured OLLAMA_BASE_URLS list. Access control on these routes validates only whether the user may use the requested model, never which backend the request is routed to. Any authenticated user can append an arbitrary url_idx to force their request onto an Ollama backend they were never authorized to reach, including internal, higher-privilege, or explicitly admin-disabled backends. This vulnerability is fixed in 0.9.6.

Exploitation Scenario

An attacker with a standard Open WebUI account — such as a regular employee at an organization using Open WebUI to expose tiered Ollama backends to different user groups — reads the open-webui public source code on GitHub and identifies the url_idx path parameter pattern in the Ollama router. They iterate integer values (0, 1, 2, ...) in requests to POST /ollama/api/chat/{url_idx}, observing response differences including error messages, model capability levels, or latency profiles. After identifying a higher-capability or admin-only backend index, they route all subsequent inference requests to that restricted backend. Because the outbound request is authenticated with the target backend's server-side API key, the backend processes the requests as legitimate, and the attacker consumes premium compute capacity while being billed at the lower-tier rate — or accessing a backend their organization explicitly removed from general availability.

Weaknesses (CWE)

CWE-863 — Incorrect Authorization: The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

  • [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:L/I:L/A:L

Timeline

Published
June 17, 2026
Last Modified
June 26, 2026
First Seen
June 17, 2026

Related Vulnerabilities