Podatność w Open WebUI (przed wersją 0.10.0) pozwala zalogowanemu użytkownikowi na wykonanie kodu Python lub narzędzi (tools) w sesji innego użytkownika. Jest to groźne, ponieważ atakujący może przejąć kontrolę nad sesją ofiary i wykonać dowolny kod w jej kontekście.
▸ Pokaż oryginał (EN)
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. Prior to 0.10.0, get_event_call delivered execute:python and execute:tool Socket.IO events to a client-supplied session_id after checking only that the session was connected, allowing authenticated users who learned another socket ID through ydoc:document:join to run code interpreter Python or tools in that user session. This issue is fixed in version 0.10.0.
Funkcja get_event_call dostarcza zdarzenia Socket.IO typu execute:python oraz execute:tool do sesji wskazanej przez parametr session_id dostarczony przez klienta. Weryfikacja ogranicza się wyłącznie do sprawdzenia, czy dana sesja jest aktywnie połączona — brak jest kontroli, czy żądający użytkownik jest właścicielem tej sesji. Atakujący może pozyskać identyfikator socket innego użytkownika poprzez zdarzenie ydoc:document:join, a następnie wysłać do tej sesji polecenie wykonania kodu. W efekcie kod interpretera Python lub wybranych narzędzi uruchamiany jest w sesji ofiary bez jej wiedzy i zgody.
Atakujący może wykonać dowolny kod Python lub narzędzia (tools) w sesji innego uwierzytelnionego użytkownika, co prowadzi do nieuprawnionego dostępu do danych tej sesji oraz potencjalnego przejęcia pełnej kontroli nad jej środowiskiem wykonawczym.
Należy zaktualizować Open WebUI do wersji 0.10.0 lub nowszej, w której problem został naprawiony. Patch dostępny jest w oficjalnym repozytorium GitHub pod tagiem v0.10.0.
Open WebUI (openwebui/open-webui) we wszystkich wersjach przed 0.10.0
Podatność wymaga spełnienia kilku warunków: atakujący musi być uwierzytelnionym użytkownikiem, musi poznać identyfikator socket ofiary (możliwe przez zdarzenie ydoc:document:join) oraz wymagana jest interakcja użytkownika (UI:R). Szczegółowe informacje dostępne w security advisory GHSA-74h3-cxq7-vc5q.
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:NOpenwebui Open Webui
APPOpenwebui< 0.10.0
Powiązane podatności
open-webui: RCE przez błędną konfigurację CORS i brak walidacji sesji
Open WebUI: pominięcie uwierzytelnienia LDAP przez puste hasło (Auth Bypass)
XSS w Open WebUI — kradzież sesji i eskalacja uprawnień do admina
Open WebUI: stored XSS w przepływie OAuth poprzez SVG jako data URI
Stored XSS w Open WebUI umożliwia nieautoryzowany dostęp do endpointów admina