CVE-2026-44559

mediumpriority · track · 0OT risk · elevatedEPSS 0.002 · 13 %ileEURUUS
grimoire priorityP3 · Track
Exploitable?
—
no known exploitation
Likely / severe?
0.22% (13th) EPSS
CVSS 4.3 · medium
Is it mine?
4 products
Check your exposure
Who says so?
5 sources
cnnvd · enisa_euvd · fstec_bdu · osv

EPSS · scored 2026-10-27

Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the GET /api/v1/channels/{id}/members endpoint only checks membership for group and dm channel types (lines 467-469). For standard channels — including private ones — there is no channel_has_access check before returning the member list. Any authenticated user who knows a private channel's UUID can enumerate all users with access to that channel. This vulnerability is fixed in 0.9.0.

01

cvss

Technical severity, 0–10. One row per scoring source.

4.3
010

base score 0–10 · higher = more severe · hover a vector to decode

v3.14.3mediumAV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:Nsecondary · FSTEC (BDU) RU
v3.14.3mediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:Nsecondary · ENISA EU
v3.14.3mediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:Nsecondary · security-advisories@github.comexploitability 2.8 · impact 1.4
v3.14.3mediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:Nsecondary · OSV
v3.14mediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N/E:Usecondary · CVSS-BT (t0sche)
02

ssvc

A stakeholder decision — act, attend, or track — from exploitation and impact.

Exploitation: poc · Automatable: no · Technical Impact: partialcoordinatorcisa_ssvcUS
03

weaknesses

The CWE weakness classes this flaw belongs to.

04

affected products (4)

Products and version ranges known to be affected.

05

advisories (2)

Vendor and ecosystem advisories describing this.

  • GHSA-c7wp-3qh5-55pvOpen WebUI Missing Access Check on Channel Members Endpoint for Standard Channels2026-05-08ghsa · osvUS

    # Missing Access Check on Channel Members Endpoint for Standard Channels ## Affected Component Channel members listing endpoint: - `backend/open_webui/routers/channels.py` (lines 445-507, `get_channel_members_by_id`) ## Affected Versions Current main branch and likely all versions with the channels feature. ## Description The `GET /api/v1/channels/{id}/members` endpoint only checks membership for `group` and `dm` channel types (lines 467-469). For standard channels — including private ones — there is no `channel_has_access` check before returning the member list. Any authenticated user who knows a private channel's UUID can enumerate all users with access to that channel. ```python # Line 467-469: only group/dm channels are checked if channel.type in ['group', 'dm']: if not Channels.is_user_channel_member(channel.id, user.id, db=db): raise HTTPException(...) # Standard channels fall through with NO access check ``` Compare with other channel endpoints (e.g., `get_channel_messages` at line 688) which correctly call `channel_has_access(user.id, channel, permission='read')` for standard channels. ## CVSS 3.1 Breakdown | Metric | Value | Rationale | |--------|-------|-----------| | Attack Vector | Network (N) | Exploited remotely via API call | | Attack Complexity | Low (L) | Single API call, no special conditions | | Privileges Required | Low (L) | Requires a valid user account | | User Interaction | None (N) | No victim interaction required | | Scope | Unchanged (U) | Impact is within the channel authorization boundary | | Confidentiality | Low (L) | Leaks user identities and details for a private channel | | Integrity | None (N) | No data modification | | Availability | None (N) | No denial of service | ## Attack Scenario 1. Attacker obtains a private standard channel's UUID (via logs, browser history, URL observation, or other API responses). 2. Attacker calls `GET /api/v1/channels/{id}/members`. 3. The server returns the full list of permitted users including their IDs, names, emails, roles, and profile images. 4. The attacker has no access to the channel's messages (those endpoints check access correctly), but now knows exactly who does. ## Impact - Leaks the identity and personal details of every user with access to a private channel - Reveals organizational structure and project assignments - Enables targeted social engineering against channel members ## Preconditions - Channels feature must be enabled (disabled by default) - Attacker must know the channel UUID (not guessable, but obtainable through indirect means)

  • PYSEC-2026-2720Open WebUI Missing Access Check on Channel Members Endpoint for Standard Channels2026-07-13vendor · osvUS

    # Missing Access Check on Channel Members Endpoint for Standard Channels ## Affected Component Channel members listing endpoint: - `backend/open_webui/routers/channels.py` (lines 445-507, `get_channel_members_by_id`) ## Affected Versions Current main branch and likely all versions with the channels feature. ## Description The `GET /api/v1/channels/{id}/members` endpoint only checks membership for `group` and `dm` channel types (lines 467-469). For standard channels — including private ones — there is no `channel_has_access` check before returning the member list. Any authenticated user who knows a private channel's UUID can enumerate all users with access to that channel. ```python # Line 467-469: only group/dm channels are checked if channel.type in ['group', 'dm']: if not Channels.is_user_channel_member(channel.id, user.id, db=db): raise HTTPException(...) # Standard channels fall through with NO access check ``` Compare with other channel endpoints (e.g., `get_channel_messages` at line 688) which correctly call `channel_has_access(user.id, channel, permission='read')` for standard channels. ## CVSS 3.1 Breakdown | Metric | Value | Rationale | |--------|-------|-----------| | Attack Vector | Network (N) | Exploited remotely via API call | | Attack Complexity | Low (L) | Single API call, no special conditions | | Privileges Required | Low (L) | Requires a valid user account | | User Interaction | None (N) | No victim interaction required | | Scope | Unchanged (U) | Impact is within the channel authorization boundary | | Confidentiality | Low (L) | Leaks user identities and details for a private channel | | Integrity | None (N) | No data modification | | Availability | None (N) | No denial of service | ## Attack Scenario 1. Attacker obtains a private standard channel's UUID (via logs, browser history, URL observation, or other API responses). 2. Attacker calls `GET /api/v1/channels/{id}/members`. 3. The server returns the full list of permitted users including their IDs, names, emails, roles, and profile images. 4. The attacker has no access to the channel's messages (those endpoints check access correctly), but now knows exactly who does. ## Impact - Leaks the identity and personal details of every user with access to a private channel - Reveals organizational structure and project assignments - Enables targeted social engineering against channel members ## Preconditions - Channels feature must be enabled (disabled by default) - Attacker must know the channel UUID (not guessable, but obtainable through indirect means)

06

also known as (7)

Other names and identifiers for this entity.

07

sources

Which sources assert this record, and when.

published 2026-05-15modified 2026-06-17
08

references (4)

External citations — patches, advisories, analysis.

scry

Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.

Free scan