CVE-2026-44555
WysokieStreszczenie
Open WebUI przed wersją 0.9.0 ma lukę, która pozwala użytkownikom z domyślnymi uprawnieniami do tworzenia modeli na tworzenie modeli łańcuchowych, które odwołują się do zastrzeżonych modeli bazowych. Weryfikacja dostępu do modeli bazowych nie jest przeprowadzana, co umożliwia nieautoryzowany dostęp.
Ocena ryzyka
Organizacja może być narażona na nieautoryzowany dostęp do zastrzeżonych modeli AI, co może prowadzić do wycieku danych lub niewłaściwego wykorzystania zasobów. Potencjalne konsekwencje obejmują naruszenie bezpieczeństwa i utratę zaufania użytkowników.
Rekomendacja
Zaleca się aktualizację Open WebUI do wersji 0.9.0 lub nowszej, aby usunąć tę lukę. Dodatkowo, należy przeprowadzić audyt uprawnień użytkowników w celu ograniczenia dostępu do tworzenia modeli.
Inne podatności w Open WebUI
Zobacz wszystkie- CVE-2026-88002Średnie
Open WebUI w wersjach od 0.5.0 do 0.11.1 zawiera podatność na nieskończoną pętlę w funkcji pomocniczej rekonstrukcji łańcucha wiadomości w backend/open_webui/utils/misc.py. Uwierzytelniony użytkownik może przechowywać wiadomości bez identyfikatora w cyklicznej strukturze, co blokuje pętlę zdarzeń i powoduje wzrost pamięci aż do zatrzymania procesu. Problem naprawiono w wersji 0.11.1.
- CVE-2026-88001Średnie
Open WebUI w wersjach od 0.9.5 do 0.11.1 nie ponownie stosuje filtrów WEB_FETCH_FILTER_LIST ani kontroli adresów prywatnych przy przekierowaniach HTTP, gdy włączona jest opcja AIOHTTP_CLIENT_ALLOW_REDIRECTS. Uwierzytelniony użytkownik może przekierować żądania do wykluczonych hostów, pętli zwrotnej, sieci prywatnych lub usług metadanych chmury, a następnie wykorzystać wyniki w wyszukiwaniu, przetwarzaniu URL, narzędziach pobierania stron lub przetwarzaniu obrazów czatu. Problem naprawiono w wersji 0.11.1.
- CVE-2026-88000Średnie
Open WebUI w wersjach od 0.10.0 do 0.11.1 zawiera podatność na nieskończoną pętlę w funkcji usuwania wiadomości w backend/open_webui/models/chats.py. Uwierzytelniony użytkownik może utworzyć cykliczne drzewo czatu i usunąć wiadomość, co powoduje zablokowanie pętli żądań serwera i uniemożliwia obsługę żądań innych użytkowników aż do zabicia procesu. Problem naprawiono w wersji 0.11.1.
- CVE-2026-87999Wysokie
Open WebUI przed wersją 0.11.1 w punktach końcowych POST /api/v1/retrieval/process/web i POST /api/v1/retrieval/process/web/search traktowało globalnie routowalną klasyfikację adresów Pythona jako dowód, że cel jest zewnętrzny. Uwierzytelniony użytkownik mógł sprawić, że instancja hostowana na platformie Azure pobierze i zwróci treści z adresu 168.63.129.16 (kanał platformy Azure) oraz innych zastrzeżonych zakresów, które standardowa klasyfikacja odrzucała.
- CVE-2026-87998Wysokie
Open WebUI od wersji 0.10.0 do 0.11.1 w punkcie końcowym DELETE /api/v1/knowledge/{id}/delete autoryzowało usunięcie względem bazy wiedzy, ale następnie usuwało zewnętrzne połączenie należące do administratora bez osobnej kontroli administratora lub sprawdzenia innych zależnych baz wiedzy. Niebędący administratorem użytkownik z prawem zapisu do jednej zewnętrznej bazy wiedzy mógł usunąć współdzieloną konfigurację instancji i uczynić niedostępnymi wszystkie inne bazy wiedzy korzystające z tego połączenia.
- CVE-2026-87997Średnie
Open WebUI w wersjach od 0.10.0 do 0.11.1 nie sprawdza uprawnień zapisu do folderu przy tworzeniu nowego czatu z podanym folder_id w endpointach POST /api/chat/completions i POST /api/v1/chat/completions. Uwierzytelniony użytkownik, znając identyfikator folderu współdzielonego, może wstrzyknąć czat do folderu, do którego ma tylko odczyt lub brak uprawnień zapisu, co powoduje wyświetlenie wpisu autoryzowanym czytelnikom folderu. Problem naprawiono w wersji 0.11.1.
- CVE-2026-87996Wysokie
Open WebUI od wersji 0.9.6 do 0.11.1 w SafePlaywrightURLLoader w backend/open_webui/retrieval/web/utils.py walidowało kontrolowaną przez użytkownika nazwę hosta w Pythonie, a następnie pozwalało przeglądarce Playwright na ponowne jej rozwiązanie w przechwytujących żądania synchroniczne i asynchroniczne. Uwierzytelniony użytkownik kontrolujący autorytatywny DNS mógł zwrócić publiczny adres do walidacji i wewnętrzny adres do przeglądarki, ujawniając odpowiedzi z wewnętrznych usług lub metadanych chmury poprzez wyszukiwanie w sieci lub pobieranie URL.
- CVE-2026-87995Wysokie
Open WebUI od wersji 0.8.11 do 0.11.1 w src/lib/components/chat/FileNav/PortPreview.svelte renderowało zawartość portu terminala w iframe sandbox zawierającym zarówno allow-scripts, jak i allow-same-origin. Ponieważ proxy terminala serwuje tę zawartość z pochodzenia Open WebUI, uwierzytelniony użytkownik mający dostęp do współdzielonego serwera terminala mógł umieścić skrypt na podglądanym porcie i przejąć konto ofiary, gdy ofiara otworzyła podgląd.
- CVE-2026-87994Średnie
Open WebUI w wersjach od 0.9.5 do 0.11.1 nie weryfikuje, czy wywołujący użytkownik jest autorem wiadomości w kanale podczas korzystania z endpointu chat completions. Członek kanału może zastąpić wiadomość innego członka, zachowując oryginalnego autora, co zmienia zapis rozmowy bez uzyskiwania dostępu do innych kanałów. Problem naprawiono w wersji 0.11.1.
- CVE-2026-87017Średnie
Open WebUI w wersjach od 0.7.0 do 0.11.1 nie stosuje filtra metadanych w wbudowanym narzędziu wyszukiwania wiedzy, co pozwala uwierzytelnionemu użytkownikowi na wyliczenie identyfikatorów, nazw i opisów niedostępnych baz wiedzy w współdzielonej kolekcji. Tekst dokumentów pozostaje w oddzielnych kolekcjach, ale metadane są ujawniane. Problem naprawiono w wersji 0.11.1.
Oryginalny opis (angielski, źródło NVD)
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, Open WebUI supports model composition via base_model_id: a user-defined model (e.g., "Cheap Assistant") can reference an existing base model (e.g., "gpt-4-turbo-restricted") that provides the actual inference capability. When a user queries the composed model, the access control pipeline verifies the user has access to the composed model but never re-verifies access to the chained base model. Additionally, the model creation and import endpoints accept arbitrary base_model_id values without checking that the caller has access to that base model. Combined, this allows any user with the default model creation permission to create a model that chains to a restricted base model — and then invoke it, causing the server to dispatch the request to the restricted base model using the admin-configured API key. This vulnerability is fixed in 0.9.0.

