중간취약점
Open WebUI: Deactivated Channel Members Retain Full Access to Group/DM Channels
GHSA-hmgr-67hw-j2cq · CVE-2026-44561 · PYSEC-2026-2732 · 갱신 2026. 7. 14.
영향 받는 패키지
| 생태계 | 패키지 | 수정 버전 |
|---|---|---|
| PyPI | open-webui | 0.9.0 |
GHSA-hmgr-67hw-j2cq · CVE-2026-44561 · PYSEC-2026-2732 · 갱신 2026. 7. 14.
| 생태계 | 패키지 | 수정 버전 |
|---|---|---|
| PyPI | open-webui | 0.9.0 |
| Metric | Value | Rationale |
|---|---|---|
| Attack Vector | Network (N) | Exploited remotely via API calls |
| Attack Complexity | Low (L) | No special conditions beyond knowing the channel ID (which the user had as a former member) |
| Privileges Required | Low (L) | Requires a valid user account and prior channel membership |
| User Interaction | None (N) | No victim interaction required |
| Scope | Unchanged (U) | Impact is within the same authorization boundary (the channel) |
| Confidentiality | Low (L) | Can read messages in a channel the user should no longer access |
| Integrity | Low (L) | Can post, edit, and delete messages in the channel |
| Availability | None (N) | No denial of service |
is_active=False, status='left'.GET /api/v1/channels/{channel_id}/messages — reads all messages, including those posted after deactivationPOST /api/v1/channels/{channel_id}/messages/post — posts new messagesPOST /api/v1/channels/{channel_id}/messages/{id}/update — edits messagesDELETE /api/v1/channels/{channel_id}/messages/{id}/delete — deletes messagesis_user_channel_member returns True.Add is_active filtering to is_user_channel_member:
def is_user_channel_member(self, channel_id, user_id, db=None):
membership = db.query(ChannelMember).filter(
ChannelMember.channel_id == channel_id,
ChannelMember.user_id == user_id,
ChannelMember.is_active.is_(True),
).first()
return membership is not None
This aligns it with the existing get_channel_by_id_and_user_id method which already applies this filter correctly.