IA Squad
SearchPT
python · open-webuiCritical

open-webui: Socket.IO note authorization bypass via underscore ID

The `ydoc:document:join` handler in `socket/main.

18 Jun 2026Read 1 minSeverity: act now

What changed

The `ydoc:document:join` handler in `socket/main.py` only checks note ownership when `document_id` starts with `note:`. `YdocManager` normalizes IDs by replacing colons with underscores, so `note_<id>` bypasses the check while accessing the same Yjs document.

Who it affects

Any authenticated user can read the full contents of any other user's private notes by using `note_<id>` instead of `note:<id>`. Private notes may contain sensitive information.

What to do today

Apply the fix that ensures authorization checks are performed for all document IDs, not just those starting with `note:`. Normalize the document ID before the authorization check so that `note_<id>` is also subject to ownership verification.

The trail
Collected Audited Written Published