Open WebUI przed wersją 0.9.5 zawiera podatność stored XSS w przepływie uwierzytelniania OAuth, gdzie złośliwy plik SVG może zostać zapisany jako zdjęcie profilowe i wykonać skrypty w kontekście przeglądarki ofiary. Podatność umożliwia kradzież tokenów uwierzytelniających i przejęcie konta użytkownika.
▸ Pokaż oryginał (EN)
Open WebUI before 0.9.5 contains a stored cross-site scripting vulnerability in the OAuth authentication flow where the picture claim URL MIME type is inferred from file extension rather than Content-Type header, allowing SVG files to bypass the profile image validator and be stored as data URIs. Authenticated users who visit the profile image endpoint receive attacker-controlled SVG content with inline disposition and no default security headers, enabling script execution in the same origin to steal authentication tokens and achieve account takeover.
Podczas przetwarzania atrybutu 'picture' w przepływie OAuth, aplikacja określa typ MIME obrazu profilowego na podstawie rozszerzenia pliku, a nie nagłówka Content-Type. Pozwala to atakującemu przemycić plik SVG, który omija walidator obrazów profilowych i zostaje zapisany jako data URI. Gdy uwierzytelniony użytkownik odwiedza endpoint z obrazem profilowym, otrzymuje kontrolowaną przez atakującego treść SVG serwowaną z nagłówkiem inline disposition i bez domyślnych nagłówków bezpieczeństwa, co umożliwia wykonanie osadzonego skryptu w kontekście tej samej domeny (same origin).
Atakujący może wykonać dowolny skrypt JavaScript w przeglądarce ofiary, co prowadzi do kradzieży tokenów uwierzytelniających oraz pełnego przejęcia konta (account takeover).
Należy zaktualizować Open WebUI do wersji 0.9.5 lub nowszej. Szczegóły dostępne w oficjalnym security advisory producenta: https://github.com/open-webui/open-webui/security/advisories/GHSA-3wgj-c2hg-vm6q
Open WebUI w wersjach przed 0.9.5
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XOpenwebui Open Webui
APPOpenwebui< 0.9.5
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
Stored XSS w Open WebUI umożliwia nieautoryzowany dostęp do endpointów admina
Open WebUI: nieautoryzowane wykonanie kodu w cudzej sesji przez Socket.IO