NIS2/KSC2 starter pack. Czy Twoja firma podlega pod regulację i co z tego wynika? Bezpłatne szkolenie od sekuraka
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
NIS2/KSC2 starter pack. Czy Twoja firma podlega pod regulację i co z tego wynika? Bezpłatne szkolenie od sekuraka
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Czy jedno kliknięcie wystarczy, aby całe środowisko AI wpadło w ręce cyberprzestępców? W przypadku Open WebUI odpowiedź brzmi tak. Jak pokazał badacz bezpieczeństwa Metin Yunus Kandemir, wykryta podatność (Stored XSS) pozwala na przejęcie pełnej kontroli nad platformą przy minimalnej interakcji ze strony użytkownika.
TLDR:
Błąd występuje w implementacji funkcji przetwarzającej dane profilowe w pliku backend/open_webui/routers/users.py. Ze względu na brak walidacji rozszerzeń oraz weryfikacji typów MIME, atakujący zamiast standardowego pliku graficznego (JPEG, PNG) może przesłać plik SVG zawierający złośliwy kod JavaScript zakodowany w Base64.
Ponadto, wykorzystanie nagłówka Content-Disposition: inline skutkuje renderowaniem obrazka bezpośrednio w oknie aplikacji. W ten sposób złośliwy kod JavaScript wykonuje się w kontekście sesji użytkownika w momencie wyświetlenia profilu atakującego lub kliknięcia w link prowadzący do spreparowanego pliku.

Jest to o tyle niebezpieczne, że w zależności od uprawnień użytkownika, cyberzbój zyskuje możliwość zdalnego wykonania kodu (w przypadku administratorów) lub całkowitego przejęcia konta i eksfiltracji historii czatów (w przypadku zwykłych użytkowników).
Co więcej, jeżeli użytkownik posiada aktywną sesję (jest zalogowany), nie jest wymagana żadna interakcja poza kliknięciem. Atak wykonuje się błyskawicznie w tle, bez wiedzy użytkownika.
| <!DOCTYPE html> <html lang=”pl”> <head> <meta charset=”UTF-8″> <title>Odtwarzacz Wideo</title> </head> <body> <div style=”max-width: 800px; margin: 20px auto;”> <video width=”100%” height=”auto” controls poster=”RCE PoC. Źródło: usehacker.com“> <source src=”https://framerusercontent.com/assets/9gJtKN7jGxZQdMKZaQQmzlbFpQ.mp4″ type=”video/mp4″> </video> </div> </body> </html> |
PoC. Źródło: usehacker.com
Podatność została potwierdzona w wersji Open WebUI 0.7.2. Zakłada się, że starsze wersje oprogramowania mogą być również zagrożone. Na chwilę obecną poprawka bezpieczeństwa nie została udostępniona, w związku z powyższym zalecamy aktualizację do najnowszej wersji 0.9.5.
W przypadku kiedy nie ma możliwości aktualizacji środowiska, rekomendujemy modyfikację kodu źródłowego poprzez wdrożanie ograniczeń dla zmiennej media_type. Akceptowalne powinny być jedynie bezpieczne formaty, takie jak image/png, image/jpeg, image/gif oraz image/webp. Należy również upewnić się, że format image/svg+xml został całkowicie zablokowany.
Ponadto, zalecamy unikanie klikania w linki prowadzące do aplikacji Open WebUI, które zawierają frazy takie jak /profile/image lub /auth?redirect=. Już samo przejście pod wskazany adres może doprowadzić do wykonania złośliwego kodu w kontekście sesji użytkownika.
Warto również zwrócić uwagę na przebieg procesu zgłoszenia wykrytego błędu twórcom oprogramowania. Badacz, kierując się zasadami odpowiedzialnego ujawniania informacji (Responsible Disclosure), zgłosił podatność zespołowi Open WebUI na początku marca 2026 r. Twórcy przyjęli zgłoszenie, jednak po kilku dniach zamknęli jako duplikat. Powołali się przy tym na nieupubliczniony biuletyn bezpieczeństwa i poinformowali autora znaleziska, że jego zgłoszenie nie zostanie oficjalnie uznane.
Z uwagi na brak oczekiwanej reakcji ze strony deweloperów (oficjalna poprawka bezpieczeństwa nie została wydana, wykryty błąd nie został uznany), badacz zdecydowała się na udostępnienie w pełni działającego kodu pozwalającego na samodzielne wykonanie ataku. PoC dostępny tutaj.
Mimo braku informacji o wykorzystaniu luki w realnych scenariuszach ataku, publiczna dostępność kodu exploita znacznie zwiększa ryzyko jego użycia. Zalecamy zachować czujność oraz niezwłocznie wdrożyć środki zaradcze.
Źródło: usehacker.com
~_secmike