CVE-2026-87014: Open WebUI: demoted admins keep socket access to all notes
GHSA-wjwr-xfp9-r66pMEDIUMPoC AVAILABLECISA: ATTENDA stale-session bug in Open WebUI lets a user who is demoted from administrator — via a trusted role header or OAuth role mapping — keep reading and editing every user's collaborative notes for as long as their existing Socket.IO connection stays open, because the cached user object in the socket layer is never invalidated when the database role changes. The blast radius is contained to Open WebUI's own collaborative-notes feature and requires the attacker to already hold high privileges (PR:H), which caps severity at CVSS 6.5 medium, and the EPSS score of 0.28% confirms opportunistic mass exploitation is very unlikely — this is a targeted insider-risk and access-governance issue, not a spray-and-pray bug. There is no CISA KEV listing, no public exploit, and no Nuclei template, so treat it as a patch-and-move-on item rather than an emergency. Upgrade to Open WebUI 0.11.1 or later immediately on any instance where administrator roles are dynamically assigned via header trust or OAuth group mapping, and in the interim force-disconnect active Socket.IO sessions (or restart the service) whenever an admin's role is downgraded to close the exposure window.
What is the risk?
Medium severity (CVSS 6.5, C:H/I:H/A:N) with high privileges required for initial exploitation, which meaningfully limits who can trigger it — the attacker must already hold or have recently held administrator rights. Attack complexity is low and no user interaction is needed once the precondition (an open socket at demotion time) exists, so exploitation itself is trivial for anyone positioned to trigger it, including a departing or soon-to-be-demoted admin deliberately keeping a tab open. EPSS (0.28%) and the absence of KEV listing, public PoC, or scanner coverage indicate this is not being actively targeted and is unlikely to see broad opportunistic exploitation. The realistic risk is insider-driven: a disgruntled or compromised admin account can use this to retain read/write access to sensitive collaborative notes across the tenant even after being demoted.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Open WebUI | pip | >= 0.9.0, < 0.11.1 | 0.11.1 |
Do you use Open WebUI? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 stepUpgrade to Open WebUI 0.11.1 or later, which invalidates the cached socket user record on role change. Until patched, any tenant using trusted role headers or OAuth role mapping for admin assignment should force-terminate active Socket.IO sessions (or bounce the service) immediately after demoting an administrator, and audit recent admin role-downgrade events for anomalous note access during the exposure window. Detection: monitor for note read/edit activity attributed to a user ID shortly after that user's role was changed from admin to a lower privilege level, using existing audit logs or Socket.IO connection logs if available. Longer term, review who is provisioned as admin via automated header/OAuth mapping, since this class of bug specifically targets that provisioning path.
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-87014?
A stale-session bug in Open WebUI lets a user who is demoted from administrator — via a trusted role header or OAuth role mapping — keep reading and editing every user's collaborative notes for as long as their existing Socket.IO connection stays open, because the cached user object in the socket layer is never invalidated when the database role changes. The blast radius is contained to Open WebUI's own collaborative-notes feature and requires the attacker to already hold high privileges (PR:H), which caps severity at CVSS 6.5 medium, and the EPSS score of 0.28% confirms opportunistic mass exploitation is very unlikely — this is a targeted insider-risk and access-governance issue, not a spray-and-pray bug. There is no CISA KEV listing, no public exploit, and no Nuclei template, so treat it as a patch-and-move-on item rather than an emergency. Upgrade to Open WebUI 0.11.1 or later immediately on any instance where administrator roles are dynamically assigned via header trust or OAuth group mapping, and in the interim force-disconnect active Socket.IO sessions (or restart the service) whenever an admin's role is downgraded to close the exposure window.
Is CVE-2026-87014 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-87014, increasing the risk of exploitation.
How to fix CVE-2026-87014?
Upgrade to Open WebUI 0.11.1 or later, which invalidates the cached socket user record on role change. Until patched, any tenant using trusted role headers or OAuth role mapping for admin assignment should force-terminate active Socket.IO sessions (or bounce the service) immediately after demoting an administrator, and audit recent admin role-downgrade events for anomalous note access during the exposure window. Detection: monitor for note read/edit activity attributed to a user ID shortly after that user's role was changed from admin to a lower privilege level, using existing audit logs or Socket.IO connection logs if available. Longer term, review who is provisioned as admin via automated header/OAuth mapping, since this class of bug specifically targets that provisioning path.
What systems are affected by CVE-2026-87014?
This vulnerability affects the following AI/ML architecture patterns: Self-hosted LLM web UI / chat platforms, Multi-user collaborative AI workspaces, Real-time (WebSocket) session layers in AI platforms.
What is the CVSS score for CVE-2026-87014?
CVE-2026-87014 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.51%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012Valid AccountsCompliance 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.9.0 until 0.11.1, role synchronization in backend/open_webui/routers/auths.py and backend/open_webui/utils/oauth.py updated an administrator's database role without invalidating the user record cached by backend/open_webui/socket/main.py. An administrator demoted through a trusted role header or OAuth role mapping could keep an already-open Socket.IO connection and continue reading or editing every user's collaborative notes until that connection closed. This issue is fixed in version 0.11.1.
Exploitation Scenario
An organization uses OAuth group mapping to grant administrator rights in Open WebUI. A user is granted temporary admin access for a project, opens the web UI, and establishes a long-lived Socket.IO connection. When the project ends, an administrator revokes the OAuth group membership, demoting the user's database role back to standard user — but because the socket layer never re-checks the cached role, the demoted user's still-open browser tab continues to receive and send collaborative-notes read/write events as if still an admin, letting them silently continue reading or modifying every other user's private notes until they close the tab or the connection drops. The same technique could be used deliberately by an admin who anticipates being demoted, keeping a background tab open specifically to retain access after the fact.
Weaknesses (CWE)
CWE-613Insufficient Session ExpirationPrimaryCWE-863Incorrect AuthorizationPrimaryCWE-613DEPRECATED: Insufficient Session ExpirationCWE-863Incorrect AuthorizationCWE-613 — Insufficient Session Expiration: This entry has been deprecated because it was insufficiently clear. Consider CWE-1462 and its descendants.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:NReferences
- github.com/open-webui/open-webui/commit/ce3c175e260709f359d7e6cbb3132f0572098b95x_refsource_MISC
- github.com/open-webui/open-webui/releases/tag/v0.11.1x_refsource_MISC
- github.com/open-webui/open-webui/security/advisories/GHSA-wjwr-xfp9-r66px_refsource_CONFIRM
- github.com/advisories/GHSA-wjwr-xfp9-r66p
- nvd.nist.gov/vuln/detail/CVE-2026-87014
Timeline
Related Vulnerabilities
CVE-2026-445519.1open-webui: LDAP auth bypass — full account takeover
Same package: open-webuiCVE-2026-456728.8open-webui: code exec gate bypass via API endpoint
Same package: open-webuiCVE-2026-445528.7open-webui: Redis cache poisoning enables cross-instance tool hijack
Same package: open-webuiCVE-2025-644958.7Open WebUI: XSS-to-RCE via malicious prompt injection
Same package: open-webuiCVE-2026-453158.7open-webui: stored XSS → JWT theft and admin takeover
Same package: open-webui