NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐍
🐍 PyPI
Not in CISA KEV
MEDIUM severity

CVE-2026-44571 — open-webui

MEDIUM

CVE-2026-44571 is a medium-severity (CVSS 6.5) CWE-862 vulnerability in open-webui. A fix is available for open-webui — see the affected versions and patch details below.

Open WebUI: Improper Authorization in Standard Channels Allows Message Updates with Read Permission

Also known asGHSA-jgj3-r8hr-9pjwPYSEC-2026-2739
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Nov 6, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

Proof-of-concept exploit code exists

  • CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-44571.

EPSS Exploitation Probability

via FIRST.org ↗
0.3%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs20th percentile — riskier than 20% of all scored CVEsHighest risk
0.00%0.28%0.56%0.84%0.0%0.3%Jun 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

1 pkg affected
🐍open-webui

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

Description

Vulnerability Description

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.


Attack Prerequisites

  • The attacker is an authenticated user (role user or higher)
  • The target channel is a standard channel (i.e., not group or dm)
  • access_control is None or allows read access
  • The attacker can obtain the target message_id (e.g., via the channel’s message list)

Attack Scenario

  1. The attacker (User B) retrieves another user’s message_id from the message list in a standard channel

  2. The attacker sends a request to

    POST /api/v1/channels/{channel_id}/messages/{message_id}/update

  3. The message authored by another user (User A) is successfully updated

Potential Impact

  • Unauthorized modification of other users’ messages (violation of data integrity)

Steps to Reproduce

  1. Log in as an administrator
<img width="3334" height="1668" alt="image" src="https://github.com/user-attachments/assets/b20323d3-c050-4438-8912-193a417654bc" />
  1. Create User A
<img width="3346" height="788" alt="image" src="https://github.com/user-attachments/assets/b9e4fb8a-b14e-4a4b-b012-02ccfba52fca" />
  1. Create User B
<img width="3354" height="796" alt="image" src="https://github.com/user-attachments/assets/f3cf6892-e6c9-4778-b471-f1cc0deec6c8" />
  1. Log in as User A
<img width="3360" height="1668" alt="image" src="https://github.com/user-attachments/assets/5264ee07-f5c5-4bbe-ad4f-da69fb540fc9" />
  1. Log in as User B
<img width="3354" height="1670" alt="image" src="https://github.com/user-attachments/assets/f112f8e8-b3e2-4e65-b226-c7b6c986f3bb" />
  1. As the administrator, create a new channel
<img width="2582" height="988" alt="image" src="https://github.com/user-attachments/assets/bc012d9a-f884-4c83-b6bb-d1e5399f61bb" />
  1. As User A, post a new message in the channel
<img width="2626" height="962" alt="image" src="https://github.com/user-attachments/assets/d7ff12c2-fe17-44f0-aaf9-5ce2bac9a378" />
  1. As User B, edit User A’s message
<img width="2604" height="958" alt="image" src="https://github.com/user-attachments/assets/8e19ec3e-fdda-4d36-acd5-f3e1fd3402dd" />
  1. Confirm that User A’s message has been modified without authorization
<img width="2378" height="1976" alt="image" src="https://github.com/user-attachments/assets/6415fd41-ac68-4d42-83c9-6297caee1fb4" />

Affected Files and Line Numbers

  • 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

Recommended Mitigation

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.

Proposed Changes

  • 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)

AI Usage

  • Translation from Japanese to English
  • CWE classification and assessment
  • Affected Files and Line Numbers

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐍PyPIopen-webuiall versions0.8.6pip install --upgrade 'open-webui==0.8.6'

Affected Products

1 product · 1 configurations
Application
open webuiopenwebui
< 0.8.6
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for open-webui, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update open-webui to 0.8.6 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-44571 is resolved across your whole dependency graph.

  3. Workarounds

    Put an independent control in front of the weakness: restrict the affected endpoint or interface to trusted networks, require an additional authentication factor or proxy-level check, and invalidate existing sessions and credentials in case the flaw has already been used.

Frequently Asked Questions

## Vulnerability Description 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. --- ## Attack Prerequisites - The attacker is an authenticated user (role `user` or high
O3 Security · Impact-Aware SCA

Is CVE-2026-44571 in your dependencies?

Find it across PyPI, including transitive dependencies.

CVE-2026-44571: open-webui — Fixed in 0.8.6