CVE-2026-44571Medium· 6.5▾ SunlitOpen WebUI's Improper Authorization in Standard Channels Allows Message Updates with Read Permission
▾ Sunlit zone — Low / medium · no exploitation signal
impact 35.8 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 13.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
Last analysed / modified upstream
0.3%
In standard channels (i.e., channels whose channel.type is neither group nor dm), the endpoint
POST /api/v1/channels/{channel_id}/messages/{message_id}/update can be accessed with read permission only.
When access_control is set to None, the authorization check has_access(..., type="read") evaluates to True, allowing users who are not the message owner to update messages.
As a result, unauthorized modification of other users’ messages is possible.
user or higher)group or dm)access_control is None or allows read accessmessage_id (e.g., via the channel’s message list)The attacker (User B) retrieves another user’s message_id from the message list in a standard channel
The attacker sends a request to
POST /api/v1/channels/{channel_id}/messages/{message_id}/update
The message authored by another user (User A) is successfully updated
backend/open_webui/routers/channels.py:1417–1460
The authorization check in update_message_by_id allows access with read permission
backend/open_webui/utils/access_control.py:124–135
When access_control=None and strict=True, read access is permitted
backend/open_webui/models/messages.py:341–358
The update logic does not enforce any message ownership check
Update the condition in
backend/open_webui/routers/channels.py:1451–1456
by changing the permission check from read to write, so that only administrators, message owners, or users with write permission can update messages.
For standard channels, change the update permission requirement from
has_access(..., type="read") to has_access(..., type="write")
Preserve the existing ownership check (message.user_id == user.id)
open-webui < 0.8.6Upgrade to a patched release:
open-webui 0.8.6Connected by shared product, vendor, weakness, or advisory.
CVE-2026-56400High· 8.3Open WebUI has a CORS misconfiguration and session validation issue
CVE-2026-56398High· 7.3Open WebUI vulnerable to stored XSS via OAuth picture claim stored as SVG data URI in profile_image_url
CVE-2026-45666Medium· 6.5Open WebUI has an Indirect Object Reference (IDOR) in user notes
CVE-2026-45385Medium· 4.3Open WebUI has an IDOR vulnerability in the update_message_by_id API endpoint
CVE-2026-29071Low· 3.1Open WebUI's Insecure Direct Object Reference (IDOR) allows access to other users' memories
CVE-2026-28786Medium· 4.3Open WebUI vulnerable to Path Traversal in `POST /api/v1/audio/transcriptions`