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-59222

CVE-2026-59222: Sensitive Data Exposure in Open WebUI Channels API

Alon Barad
Alon Barad
Software Engineer

Jul 24, 2026·4 min read·5 visits

Executive Summary (TL;DR)

The Open WebUI channels member endpoint leaked full user profile configurations. This let any authenticated user inside a shared channel steal private external API keys and webhooks belonging to other members, including administrators.

Open WebUI versions starting from 0.7.0 up to, but excluding, 0.10.0 are vulnerable to a sensitive data exposure flaw in the channels API. The GET /api/v1/channels/{id}/members endpoint exposes full user database representations, including private API keys and webhook configurations. This allows authenticated users to extract private credentials of other members within the same channel.

Vulnerability Overview

Open WebUI is an extensible, self-hosted AI platform designed to provide a user-friendly interface for interacting with large language models. The platform features user authentication, workspace/channel management, and integration with external API services and tool servers.

The vulnerability classified under CVE-2026-59222 represents a case of excessive data exposure during API serialization. Specifically, the API endpoint responsible for listing members of a communication channel (GET /api/v1/channels/{id}/members) inadvertently leaks the full configuration schema of each user.

This vulnerability allows authenticated users to retrieve sensitive details of any other user sharing a channel. Exposed details include private configurations and access keys for external services, potentially leading to unauthorized access to downstream resources.

Root Cause Analysis

The root cause of this flaw is the over-serialization of the user database model in the backend API router. The platform uses FastAPI and Pydantic for API route definition and data validation.

In affected versions, the route handler get_channel_members_by_id returned a UserListResponse. This response schema mapped user objects to the generic UserModelResponse profile, which compiled all user data directly from the raw database model.

The raw database model contains a settings block containing integration secrets, such as external tool server bearer tokens (toolServers[].key) and private webhook URLs. Because the schema lacked explicit field filtering for sub-resources, the application serialized and transmitted this sensitive data to the client.

Code Analysis

The vulnerability exists in the backend/open_webui/routers/channels.py file. The original endpoint serialized database entities using a wholesale dictionary dump.

# Vulnerable Serialization Path
return {
    'users': [UserModelResponse(**u.model_dump(), is_active=Users.is_active(u)) for u in fetched_users],
    'total': total,
}

The call to u.model_dump() converts the entire database record, including the nested settings dictionary, into the response object. The target UserModelResponse Pydantic schema did not exclude these nested elements, meaning they were exposed in the final JSON output.

The fix introduced a dedicated schema called ChannelMemberResponse that explicitly declares which fields are allowed in the API response. The patch replaces the blanket model_dump() with a strict manual mapper.

class ChannelMemberResponse(BaseModel):
    id: str
    email: str
    name: str
    role: str
    profile_image_url: str | None = None
    presence_state: str | None = None
    status_emoji: str | None = None
    status_message: str | None = None
    status_expires_at: int | None = None
    is_active: bool = False
 
def serialize_channel_member(user: UserModel) -> ChannelMemberResponse:
    return ChannelMemberResponse(
        id=user.id,
        email=user.email,
        name=user.name,
        role=user.role,
        profile_image_url=user.profile_image_url,
        presence_state=user.presence_state,
        status_emoji=user.status_emoji,
        status_message=user.status_message,
        status_expires_at=user.status_expires_at,
        is_active=Users.is_active(user),
    )

By passing each user record through serialize_channel_member, only the specified fields are retained. The backend drops any unmapped fields, such as settings or credentials, before serialization.

Exploitation Methodology

To exploit this vulnerability, an attacker must have a valid user account on the target Open WebUI instance. The attacker must also share at least one channel with the targeted users, such as an instance administrator.

An attacker first obtains the unique identifier of the shared channel. This can be extracted from the browser's address bar or via active network inspection of the client-side API requests.

The attacker then executes a direct HTTP GET request to the /api/v1/channels/{id}/members endpoint. The attacker includes their valid session JSON Web Token (JWT) in the Authorization header.

GET /api/v1/channels/d3b07384-d113-4ec5-a5af-72013840ffcc/members HTTP/1.1
Host: openwebui.local
Authorization: Bearer <attacker_jwt>

The server responds with a JSON array containing the user objects. The attacker parses the JSON body to locate the settings path, extracting the credentials for integrated tools or external servers.

Impact Assessment

The primary impact of this vulnerability is the compromise of confidential integration credentials. Exposed keys can allow attackers to access external private APIs and tools managed by the victim.

If an administrator is a member of the channel, their credentials and system webhooks are exposed. Attackers can leverage these webhooks to send forged messages or retrieve private operational data.

The vulnerability has been assigned a CVSS score of 6.5 (Medium) under CVSS v3.1, reflecting high confidentiality impact with low privileges required. No integrity or availability impact is directly associated with this vector.

Remediation and Prevention

Administrators must upgrade Open WebUI instances to version 0.10.0 or later to resolve this vulnerability. The updated versions implement strict data-transfer-object mapping that prevents data leakage.

For systems where an immediate upgrade is not feasible, administrators should audit active channel memberships. Restricting channel access and removing inactive users can limit the exposure surface.

Developers must implement strict, white-list-based schemas for all public endpoints. Avoiding generic database-model serialization prevents accidental exposure of backend fields.

Official Patches

open-webuiFixing commit for over-serialization of user channel models
open-webuiOfficial Release Notes containing the fix

Fix Analysis (1)

Technical Appendix

CVSS Score
6.5/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
EPSS Probability
0.32%
Top 76% most exploited

Affected Systems

Open WebUI

Affected Versions Detail

Product
Affected Versions
Fixed Version
open-webui
open-webui
>= 0.7.0, < 0.10.00.10.0
AttributeDetail
CWE IDCWE-200
Attack VectorNetwork
CVSS6.5
EPSS0.00322
ImpactConfidentiality
Exploit StatusNone
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1005Data from Local System
Collection
T1552Unsecured Credentials
Credential Access
CWE-200
Exposure of Sensitive Information to an Unauthorized Actor

The product exposes sensitive information to an actor who is not authorized to have access to that information.

Vulnerability Timeline

Fix commit fbcdcf1 applied to open-webui backend
2026-06-16
Security Advisory GHSA-gh7p-78x6-jw6m published
2026-07-09
Open WebUI v0.10.0 release launched containing patch
2026-07-09
NVD CVSS evaluation and mapping completed
2026-07-10

References & Sources

  • [1]GitHub Security Advisory GHSA-gh7p-78x6-jw6m
  • [2]NVD Vulnerability Details CVE-2026-59222
  • [3]CVE Official Record CVE-2026-59222

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

•40 minutes ago•CVE-2026-59213
3.5

CVE-2026-59213: Authorization Bypass and Cross-Session Cache Leakage in Open WebUI

An authorization bypass and cross-session cache leakage vulnerability exists in the model-listing backend of Open WebUI. The flaw stems from a configuration error in the @cached decorator of the aiocache library, which maps all unique user session queries to a single static cache key.

Alon Barad
Alon Barad
0 views•5 min read
•about 2 hours ago•CVE-2026-59215
3.1

CVE-2026-59215: Insecure Direct Object Reference in Open WebUI Thread Message Lookup

A Broken Object Level Authorization (BOLA) / Insecure Direct Object Reference (IDOR) vulnerability in Open WebUI prior to v0.10.0 allows authenticated users to access and disclose private message contents, thread context, and channel metadata from other restricted private or Direct Message (DM) channels without proper authorization.

Amit Schendel
Amit Schendel
4 views•6 min read
•about 4 hours ago•CVE-2026-59219
7.1

CVE-2026-59219: Session Revocation Bypass in Open WebUI Real-Time Endpoints

CVE-2026-59219 identifies a session-revocation bypass vulnerability in Open WebUI versions 0.9.0 through 0.9.99. While standard HTTP REST endpoints enforce stateful JWT revocation using a Redis-backed blacklist, WebSocket and Socket.IO endpoints bypassed these checks. Consequently, a token revoked via sign-out or OIDC logout remains valid for establishing real-time communication channels and accessing server terminal proxies.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 5 hours ago•CVE-2026-59864
9.3

CVE-2026-59864: Critical Out-of-Package Local File Inclusion in Microsoft Kiota

CVE-2026-59864 is a critical path traversal vulnerability in Microsoft Kiota occurring when custom OpenAPI extensions specify a nested static template file. Lack of input sanitization allows malicious inputs to write directory traversal sequences directly into plugin manifests, causing out-of-package local file disclosure in downstream environments like Microsoft 365 Copilot.

Amit Schendel
Amit Schendel
6 views•7 min read
•about 20 hours ago•GHSA-X445-F3H2-J279
7.5

GHSA-X445-F3H2-J279: OAuth Provider Confusion in Auth.js and NextAuth.js

A critical logical security flaw exists in Auth.js (formerly NextAuth.js) where signed anti-CSRF check cookies (state, nonce, and PKCE code_verifier) are not bound to the specific Identity Provider that initiated the authorization flow. In multi-provider environments, this allows an attacker to replay valid, cryptographically signed cookies minted during a flow with one provider against a callback handling a different provider. This vulnerability can lead to session hijacking, identity theft, or unauthorized account linking.

Alon Barad
Alon Barad
7 views•7 min read
•about 21 hours ago•GHSA-7RQJ-J65F-68WH
8.1

GHSA-7RQJ-J65F-68WH: Account Takeover via Homoglyph Bypass in NextAuth.js Email Normalization

A security vulnerability in the email normalization logic of NextAuth.js and Auth.js allows remote attackers to bypass email validation constraints and achieve Account Takeover (ATO) through Unicode homoglyph smuggling. Under standard conditions, Unicode compatibility characters represent visually similar symbols that are normalized downstream to ASCII equivalents, facilitating structural validation bypasses. This issue specifically affects passwordless email authentication flows.

Alon Barad
Alon Barad
8 views•6 min read