CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-88006

CVE-2026-88006: Incorrect Authorization in Open WebUI OAuth Token Exchange

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 11, 2026·6 min read·14 visits

Executive Summary (TL;DR)

Open WebUI's token exchange endpoint bypassed Identity Provider role checks, letting demoted or revoked users access the application with stale, cached database privileges.

An incorrect authorization vulnerability in Open WebUI allows users to bypass Identity Provider (IdP) role revocations and demotions. Prior to version 0.11.1, the OAuth token exchange endpoint failed to execute user synchronization and group mapping checks, enabling users with active provider tokens to establish sessions with their cached, stale database roles.

Vulnerability Overview

Open WebUI is a self-hosted, extensible AI interface designed to orchestrate and serve large language models. To support enterprise-scale deployments, the application integrates OAuth and OpenID Connect (OIDC) protocols for decentralized user authentication. This architecture enforces access control policies by mapping central Identity Provider (IdP) groups and claims to local application roles, such as administrative or standard permissions.

The vulnerability designated as CVE-2026-88006 resides in the handling of the OAuth token exchange mechanism within versions 0.8.0 through 0.11.1. Specifically, the application implements two distinct flows to authenticate users via OAuth: an interactive browser-based callback flow and a direct token exchange API endpoint. The /token/exchange endpoint allows clients to obtain native session tokens by presenting a valid IdP access token directly to the backend.

This API endpoint failed to perform the necessary authorization and role mapping updates that occur during the standard interactive login process. Consequently, the application trusted stale local database records to establish user privileges. This flaw constitutes an incorrect authorization vulnerability classifiable under CWE-863, leading to potential privilege escalation or unauthorized persistence.

Root Cause Analysis

The core authorization failure stems from a design asymmetry between the interactive OAuth callback handler (handle_callback) and the API-driven token exchange handler (token_exchange). When a user logs in interactively, the handle_callback routine retrieves the latest user claims from the configured IdP. It then processes role definitions dynamically by comparing the user's IdP groups against configured environment variables such as OAUTH_ALLOWED_ROLES and OAUTH_ADMIN_ROLES.

In contrast, the pre-patch implementation of the token_exchange API endpoint in backend/open_webui/routers/auths.py omitted these evaluation passes. Upon receiving a valid provider access token, the system resolved the user entry in the local database and immediately issued a session token. No calls were made to execute the role update and user synchronization routines.

As a result, if an administrator modified a user's permissions on the Identity Provider—such as demoting an administrative account to a standard user or removing them from the allowed user list—the change was never propagated through the token exchange route. The affected user could bypass administrative revocation. By directly calling the /token/exchange endpoint with their IdP token, they could obtain an active session with their cached local roles, retaining full administrative access.

Code Analysis

To understand the vulnerability, analyze the logic flow of the pre-patch token exchange routine. The endpoint verified the validity of the incoming OAuth token and checked for the existence of the corresponding database user. Once found, it returned the session immediately, skipping the entire block of synchronization functions.

The remediation introduced in commit d799e81edbdc971c6deb096b6474cd95b93504bf modularized the synchronization code block. The patch extracted user role updates, name updates, email updates, and picture updates from handle_callback in backend/open_webui/utils/oauth.py into a unified method named update_user_from_oauth. This method verifies if the user's role has changed based on incoming IdP claims and updates the database records accordingly.

The endpoint in backend/open_webui/routers/auths.py was subsequently updated to invoke update_user_from_oauth and update_user_groups before calling create_session_response. This ensures that every entry point that translates an external OAuth identity into an internal session executes identical authorization validations. The logic now prevents the reuse of stale permissions.

Exploitation & Scenario Analysis

Exploitation of CVE-2026-88006 does not require sophisticated techniques, but relies on a specific sequence of administrative actions on the external Identity Provider. The primary prerequisite is that a target user must have previously logged into the Open WebUI instance with elevated permissions (such as the admin role). Following this initial login, the user's role is cached in the local database.

If the enterprise administrator subsequently revokes the user's administrative privileges or removes them from the allowed group on the central IdP, the restriction should take immediate effect. However, a malicious actor possessing the active provider access token can bypass this revocation. Instead of using the standard web login interface, the attacker sends a structured HTTP POST request directly to the /token/exchange endpoint of the Open WebUI instance.

The payload contains the valid IdP access token. Because the endpoint does not run the role synchronization logic, it matches the token to the database user and issues a JSON Web Token (JWT) matching the user's cached database state. The attacker receives an active session possessing administrative privileges, effectively escalating their access beyond the limits defined by the Identity Provider.

Technical Impact Assessment

The technical impact of this vulnerability is assessed as Medium, with a CVSS v3.1 base score of 6.5. This classification reflects a partial authorization bypass rather than an unauthenticated remote code execution flaw. The attack vector is Network, and the complexity is Low, as no user interaction is required to trigger the incorrect authorization behavior.

The confidentiality and integrity impacts are both rated as Low because the scope of the exploit is limited to the permissions previously held by the target user. An attacker cannot escalate their privileges to a state they never possessed unless they manipulate the IdP configuration directly. However, in enterprise environments where accounts are systematically decommissioned or demoted, the persistence of administrative capabilities constitutes a significant risk.

Moreover, the failure to synchronize group mappings means that data governance policies mapped to user groups are not enforced. Unauthorized users may retain access to sensitive corporate knowledge bases, proprietary AI models, and administrative panels. This compromises the integrity of the local authorization boundary.

Remediation & Detection

The primary mitigation for this vulnerability is upgrading the Open WebUI installation to version 0.11.1 or higher. The patch correctly integrates the synchronization routine into the token exchange endpoint, closing the authorization gap. Administrators can download the patched release from the official GitHub repository.

For deployments where immediate upgrading is not feasible, administrators should audit local user roles manually. This involves comparing the list of active administrators in the Open WebUI database against the current group memberships defined in the enterprise OIDC provider. Any accounts that show discrepancies must be corrected manually via the administrative panel.

Additionally, organizations should configure short expiration times (Time-To-Live) for access tokens issued by their Identity Providers. Because Open WebUI only validates the token during the initial exchange, limiting the lifetime of the IdP-issued token reduces the window of opportunity for an attacker to leverage an active token against the vulnerable endpoint.

Fix Analysis (1)

Technical Appendix

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

Affected Systems

Open WebUI

Affected Versions Detail

Product
Affected Versions
Fixed Version
Open WebUI
Open WebUI
>= 0.8.0, < 0.11.10.11.1
AttributeDetail
CWE IDCWE-863 (Incorrect Authorization)
Attack VectorNetwork
CVSS v3.1 Score6.5
ImpactPartial Privilege Escalation / Authorization Bypass
Exploit StatusNone/Unproven
CISA KEV StatusNot Listed

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-863
Incorrect Authorization

The software performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly execute the authorization check, allowing attackers to bypass intended security policies.

Vulnerability Timeline

Fix Commit authored and pushed to the repository
2026-08-17
Official GitHub Advisory published
2026-09-10
Vulnerability parsed and published in the National Vulnerability Database (NVD)
2026-09-10

References & Sources

  • [1]GitHub Security Advisory GHSA-wvm9-9g5j-623f
  • [2]Remediating Commit d799e81edbdc971c6deb096b6474cd95b93504bf
  • [3]Official Release v0.11.1
  • [4]CVE.org Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•1 day ago•CVE-2026-107844
5.3

CVE-2026-107844: Path Traversal Vulnerability in Contao ImagesController

A path traversal vulnerability (CWE-22) in Contao CMS allows unauthenticated remote attackers to bypass directory boundary restrictions in ImagesController and access files within the project directory.

Amit Schendel
Amit Schendel
8 views•5 min read
•1 day ago•CVE-2026-107848
3.5

CVE-2026-107848: Cross-Site Request Forgery (CSRF) in Contao Backend Actions via GET Requests

Contao Open Source CMS versions 4.0.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 contain a Cross-Site Request Forgery (CSRF) vulnerability in backend parameter handling. The `RequestTokenListener` component validates anti-CSRF tokens solely for HTTP POST requests, while GET-based declarative guards run only when an `act` parameter is present in the query string. Consequently, custom backend actions dispatched via alternative parameters such as `key=` can execute without CSRF token verification when triggered by an authenticated user.

Amit Schendel
Amit Schendel
7 views•5 min read
•1 day ago•CVE-2026-107843
5.3

CVE-2026-107843: Unthrottled Activation Email Resend and Account Enumeration in Contao CMS

Contao CMS versions 4.1.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 fail to validate form submission tokens and enforce rate limiting when processing activation email resend requests via HTTP POST, enabling resource exhaustion and account state enumeration.

Amit Schendel
Amit Schendel
8 views•4 min read
•1 day ago•CVE-2026-107842
5.3

CVE-2026-107842: Information Disclosure via Stale Indexing in Contao Search Module

An information disclosure vulnerability in Contao CMS allows unauthenticated site visitors to view protected page titles, URLs, and text excerpts through search queries when protected page indexing is disabled after previously being enabled.

Amit Schendel
Amit Schendel
10 views•4 min read
•1 day ago•GHSA-G38J-7V97-X298
6.5

GHSA-G38J-7V97-X298: Missing Authorization Check in Vikunja CalDAV Task Relation Creation

In Vikunja prior to version 2.6.0, relation creation via the CalDAV endpoint fails to invoke the TaskRelation.CanCreate authorization check. This missing access control allows an authenticated user to establish unauthorized relationships and perform write operations against any task, provided its unique identifier (UID) is known.

Alon Barad
Alon Barad
12 views•5 min read
•1 day ago•GHSA-3HC7-R24J-RPWC
6.8

GHSA-3hc7-r24j-rpwc: Cross-Project Task Disclosure via Subtask Expansion in Vikunja

A cross-project information disclosure vulnerability in Vikunja allows authenticated users with read access to one project to view private task details from unauthorized projects via subtask expansion parameters.

Alon Barad
Alon Barad
9 views•5 min read