CVE-2026-59222: Open WebUI: /api/v1/channels/{id}/members exposes full user model including sensitive credentials
Open WebUI 0.7.0 up to 0.9.x returns full user records, including settings, from `GET /api/v1/channels/{id}/members`. Any user in a channel or DM can read other members' webhook URLs and tool server bearer keys, such as `settings.ui.toolServers[].key`. Upgrade open-webui to 0.10.0.
Published Jul 24, 2026 · Updated Aug 13, 2026 · Analysis Oct 25, 2026
What an attacker can do
The channel members handler builds its response with UserModelResponse(**user.model_dump(), is_active=...) in both the DM and non-DM code paths. UserModel in models/users.py carries a UserSettings object and free-form settings.ui configuration, so all of it goes out to every participant. The normal profile route, /api/v1/users/{user_id}/info, does not return these fields.
The attacker needs channels enabled (the Channels beta setting) and a low-privilege account. They create a DM with the target, for example an admin, then open the members view. The browser's request to /api/v1/channels/{id}/members returns the other member's settings, including toolServers and their key values.
What they get: webhook notification URLs and the bearer tokens for tool servers that the victim configured. Those tokens may open access to internal services and MCP-style tool backends the tool server fronts. The CVSS 4.0 vector rates confidentiality as high and nothing else.
Who is affected
The open-webui pip package, versions >= 0.7.0, < 0.10.0. The flaw matters only when Channels (Beta) is enabled under Admin Panel > Settings > General, since the endpoint belongs to the channels feature.
pip show open-webuiFor Docker, check the image tag. Users who saved tool server keys or webhook URLs in their settings are the ones whose secrets leak.
open-webui
- Ecosystem
- PyPI
- Affected
- >= 0.7.0, < 0.10.0
- Fixed in
- 0.10.0
- Check
pip show open-webui
How to fix it
Upgrade to open-webui 0.10.0.
pip install --upgrade open-webui==0.10.0The advisory names no workaround. Turning Channels off removes the endpoint from use. Because the keys may already have been read, rotate tool server bearer tokens and webhook URLs stored in user settings after upgrading.
How to tell if you were hit
Check access logs for GET /api/v1/channels/{id}/members calls from low-privilege users, especially in DMs created with admin accounts or created just before the call. Then look for use of the leaked secrets: requests to your tool servers or webhook endpoints from unexpected source addresses, or with the bearer token from a client other than Open WebUI.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Summary
The channel members endpoint serializes and returns full user models for channel participants, including settings objects. A normal user in a DM can retrieve admin-only sensitive configuration such as webhook URLs and tool server key material (settings.ui.toolServers[].key), which is not available via standard user info APIs.
Details
The endpoint GET /api/v1/channels/{id}/members returns the full serialized user model for every member in the channel. In both the DM and non-DM code paths, the handler constructs the response with [UserModelResponse(**user.model_dump(), is_active=...)] and returns it as the users list. Because UserModel (models/users.py) includes a settings object (UserSettings) and arbitrary UI configuration (settings.ui), the endpoint exposes other users' sensitive configuration to any channel participant.
Practically, a regular user who participates in a DM or group can call /api/v1/channels/{id}/members and receive other members' settings, including admin-only details such as webhook notification URLs and tool server configuration, including credential fields like settings.ui.toolServers[].key. These values are not returned by the normal user profile endpoints (e.g., /api/v1/users/{user_id}/info).
PoC
- Start a local Open WebUI instance
- Log in as admin and in the Admin Panel, go to Settings -> General and check *Channels (Beta)*, then press Save.
- Create a low-privilege user in the Users tab
- Click on the admin's profile bottom left, Settings and Integrations. Then click the
+after *Manage Tool Servers* to add some tool server with a secret Bearer token (eg.KEY) - Log in as the attacker with the low-privilege account and create a new Direct Message channel with the admin user:
- After creating, open DevTools with F12 and go to the Network tab. Then in the DM UI click on the *Users* icon top right to see the members. In the network tab, this should have triggered a
/api/v1/channels/{id}/membersrequest which responds with thesettingskey includingtoolServersandkeyvalues:
The attacker has now leaked the admin's bearer token for the toolserver they configured.
Impact
Conditions for exploit: channels are enabled and an attacker has a low-privilege account.
Webhook URLs and tool server configurations (including bearer keys) can be exfiltrated from any user.
Original Agent Report
Credited to Aikido-Security, JorianWoltjer, reindaelman, grumpinout1, Classic298.
Questions
- What secrets does CVE-2026-59222 leak?
Other members' full settings, including webhook notification URLs and tool server configuration with credential fields such as
settings.ui.toolServers[].key.- Is it exploitable with Channels turned off?
The advisory lists channels enabled as a condition. The endpoint is part of the channels feature, so the setting must be on.
- Does the attacker need admin rights?
No. Any low-privilege account that can join or start a DM or channel with the victim can call the endpoint.
- Which versions are affected?
From 0.7.0 up to but not including 0.10.0. Upgrade to 0.10.0 and rotate exposed tokens.
References
Read for this analysis:
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More Open WebUI vulnerabilities
All Open WebUI entriesCVE-2026-87011
Open WebUI: Unauthenticated requests can stall the server via uncached OIDC fetches in back-channel logout
high7.5Sep 10, 2026CVE-2026-87012
Open WebUI: Any authenticated user can suppress calendar alerts instance-wide via a non-numeric alert value
medium4.3Sep 10, 2026CVE-2026-87013
Open WebUI: Any authenticated user can start a non-terminating request via a folder parent cycle
medium4.3Sep 10, 2026CVE-2026-87014
Open WebUI: Admin demoted through SSO role sync keeps read and write access to all users' notes
medium6.5Sep 10, 2026CVE-2026-87015
Open WebUI: A user's session cookies are sent to tool servers configured for bearer authentication
medium6.8Sep 10, 2026CVE-2026-87016
Open WebUI: Sign-in as another user via wildcard characters in the OAuth subject claim on SQLite
high8.1Sep 10, 2026
