CVE-2026-87014: Open WebUI: Admin demoted through SSO role sync keeps read and write access to all users' notes
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/openwebui/routers/auths.py and backend/openwebui/utils/oauth.py updated an administrator's database role without invalidating the user record cached by backend/openwebui/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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Open WebUIto a version that resolves this vulnerability.Fixed in 0.11.1
Event History
Frequently Asked Questions
Who is exposed to this issue?
Instances running Open WebUI versions from 0.9.0 through 0.11.1 are affected when administrator roles are synchronized through a trusted role header or OAuth role mapping. The risk applies to administrators who are demoted while they already have an open Socket.IO connection.
What must happen for the former administrator to retain access?
The user must have an already-open Socket.IO connection at the time their administrator role is changed by role synchronization. They can then continue to read or edit all users' collaborative notes until that connection closes.
What can be done if upgrading is not immediately possible?
Ensure that Socket.IO connections belonging to a demoted administrator are closed. The retained access persists only until the existing connection closes.
How can I tell whether a user may still be affected after demotion?
A user may be affected if their role was demoted through a trusted role header or OAuth role mapping while they had an active Socket.IO connection. Their access should end when that connection closes.
Which version fixes the issue?
The issue is fixed in Open WebUI version 0.11.1.