CVE-2026-59222: Open WebUI: channel IDOR leaks tool-server API keys
GHSA-gh7p-78x6-jw6m MEDIUM PoC AVAILABLE CISA: TRACK*Open WebUI, a self-hosted LLM chat platform, shipped a channel-members endpoint (GET /api/v1/channels/{id}/members) that returned the complete UserModelResponse object for every member instead of a filtered profile, exposing other users' settings.ui.toolServers[].key values and webhook configuration to any authenticated channel participant. This is not a remote, unauthenticated bug — EPSS sits at 0.00259 (top 83% percentile, i.e. low real-world exploitation pressure), there's no CISA KEV listing, no public PoC, and no Nuclei template — but the blast radius inside an affected deployment is meaningful because toolServers[].key are live credentials for external MCP/tool-server integrations and webhook config can carry callback secrets. Any org running multi-user Open WebUI channels for collaborative AI workflows should treat this as a lateral-movement primitive: one low-privilege channel member can harvest another user's tool-integration credentials without any special AI expertise. Upgrade to open-webui 0.10.0 immediately; until then, restrict channel membership to trusted users and rotate any toolServer keys or webhook secrets that may have transited shared channels, then audit access logs for repeated or anomalous calls to the /channels/*/members endpoint.
What is the risk?
Severity is rated medium and CVSS is not published, but the practical risk is broken access control (CWE-200) with a trivial exploitation path: no special tooling, no AI/ML knowledge, and no privilege escalation is required beyond being a normal member of a shared channel. The low EPSS score and absence from CISA KEV indicate this is not being mass-exploited in the wild, and there is no public exploit or scanner template, which lowers near-term opportunistic risk. However, exposure is amplified in any org that uses Open WebUI as a shared, multi-tenant front-end for AI agent tooling, since the leaked toolServers[].key values are functioning credentials rather than metadata — turning an information-disclosure bug into a credential-theft vector with downstream access to whatever external tool servers those keys authorize.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Open WebUI | pip | >= 0.7.0, < 0.10.0 | 0.10.0 |
Do you use Open WebUI? You're affected.
How severe is it?
What should I do?
1 step-
Upgrade Open WebUI to version 0.10.0 or later, which fixes the endpoint to stop returning full UserModelResponse objects for channel members. Until upgraded, restrict who can join or be added to channels, and treat any existing toolServer API keys or webhook secrets configured by users in shared channels as potentially exposed — rotate them proactively. Review reverse-proxy/application logs for repeated calls to GET /api/v1/channels/{id}/members from non-admin accounts as a detection signal, and audit which external tool servers/webhooks are reachable with the affected credentials to scope any downstream exposure.
What does CISA's SSVC say?
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:
Frequently Asked Questions
What is CVE-2026-59222?
Open WebUI, a self-hosted LLM chat platform, shipped a channel-members endpoint (GET /api/v1/channels/{id}/members) that returned the complete UserModelResponse object for every member instead of a filtered profile, exposing other users' settings.ui.toolServers[].key values and webhook configuration to any authenticated channel participant. This is not a remote, unauthenticated bug — EPSS sits at 0.00259 (top 83% percentile, i.e. low real-world exploitation pressure), there's no CISA KEV listing, no public PoC, and no Nuclei template — but the blast radius inside an affected deployment is meaningful because toolServers[].key are live credentials for external MCP/tool-server integrations and webhook config can carry callback secrets. Any org running multi-user Open WebUI channels for collaborative AI workflows should treat this as a lateral-movement primitive: one low-privilege channel member can harvest another user's tool-integration credentials without any special AI expertise. Upgrade to open-webui 0.10.0 immediately; until then, restrict channel membership to trusted users and rotate any toolServer keys or webhook secrets that may have transited shared channels, then audit access logs for repeated or anomalous calls to the /channels/*/members endpoint.
Is CVE-2026-59222 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-59222, increasing the risk of exploitation.
How to fix CVE-2026-59222?
Upgrade Open WebUI to version 0.10.0 or later, which fixes the endpoint to stop returning full UserModelResponse objects for channel members. Until upgraded, restrict who can join or be added to channels, and treat any existing toolServer API keys or webhook secrets configured by users in shared channels as potentially exposed — rotate them proactively. Review reverse-proxy/application logs for repeated calls to GET /api/v1/channels/{id}/members from non-admin accounts as a detection signal, and audit which external tool servers/webhooks are reachable with the affected credentials to scope any downstream exposure.
What systems are affected by CVE-2026-59222?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, self-hosted LLM chat/gateway platforms, multi-user collaboration layers.
What is the CVSS score for CVE-2026-59222?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0055 Unsecured Credentials AML.T0083 Credentials from AI Agent Configuration AML.T0084.001 Tool Definitions Compliance Controls Affected
What are the technical details?
Original Advisory
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.7.0 before 0.10.0, GET /api/v1/channels//members returned full UserModelResponse objects for channel members, including settings.ui.toolServers[].key and webhook configuration, allowing a normal channel participant to retrieve other users’ sensitive settings. This issue is fixed in version 0.10.0.
Exploitation Scenario
An attacker who is (or becomes) a legitimate low-privilege member of any shared channel in an Open WebUI instance calls GET /api/v1/channels/{channel_id}/members. Instead of a minimal member list, the response includes the full UserModelResponse for every other member, including their settings.ui.toolServers[].key values and webhook configuration. The attacker extracts these credentials and webhook secrets belonging to higher-privileged or unrelated users, then uses the stolen toolServer keys to authenticate directly against the external tool/MCP servers those keys were meant to protect, or forges webhook calls using the exposed configuration — achieving unauthorized data access or lateral movement without ever touching the vulnerable user's account directly.
Weaknesses (CWE)
CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
Primary
CWE-200 Exposure of Sensitive Information to an Unauthorized Actor CWE-200 — Exposure of Sensitive Information to an Unauthorized Actor: The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
- [Architecture and Design] Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
Source: MITRE CWE corpus.
References
- github.com/open-webui/open-webui/commit/fbcdcf146b99b5002705060a8243eee769108f9e x_refsource_MISC
- github.com/open-webui/open-webui/releases/tag/v0.10.0 x_refsource_MISC
- github.com/open-webui/open-webui/security/advisories/GHSA-gh7p-78x6-jw6m x_refsource_CONFIRM
- github.com/advisories/GHSA-gh7p-78x6-jw6m
- nvd.nist.gov/vuln/detail/CVE-2026-59222
Timeline
Related Vulnerabilities
CVE-2026-44551 9.1 open-webui: LDAP auth bypass — full account takeover
Same package: open-webui CVE-2026-45672 8.8 open-webui: code exec gate bypass via API endpoint
Same package: open-webui CVE-2026-44552 8.7 open-webui: Redis cache poisoning enables cross-instance tool hijack
Same package: open-webui CVE-2025-64495 8.7 Open WebUI: XSS-to-RCE via malicious prompt injection
Same package: open-webui CVE-2026-45315 8.7 open-webui: stored XSS → JWT theft and admin takeover
Same package: open-webui