CVE-2026-114135
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
Jupyter Server to backend dla aplikacji webowych Jupyter. Od wersji 2.0.0 do 2.6.0 włączenie GatewayClient.url zastępowało normalny KernelWebsocketHandler przez WebSocketChannelsHandler, który uwierzytelniał użytkownika, ale nie wywoływał authorizer.is_authorized(...) dla akcji execute na zasobie kernels. Ograniczony uwierzytelniony użytkownik mógł zatem otworzyć kanał jądra upstream i uzyskać wykonanie kodu jądra pomimo skonfigurowanego Autoryzatora odmawiającego tej akcji, narażając dane i poświadczenia dostępne dla jądra oraz umożliwiając modyfikację lub zakłócenie środowiska jądra. Domyślna konfiguracja bramy jest naprawiona w wersji 2.6.0. W wersji 2.6.0 i późniejszych ten sam obejście autoryzacji pozostaje możliwy, gdy wdrożenie ręcznie rejestruje przestarzały moduł jupyter_server.gateway.handlers, ponieważ jego handler nadal pomija skonfigurowaną decyzję autoryzacji wykonania jądra.
Ocena ryzyka
Użytkownik z ograniczonymi uprawnieniami może uzyskać nieautoryzowane wykonanie kodu w jądrze, co prowadzi do ujawnienia danych i poświadczeń oraz modyfikacji środowiska. Może to skutkować eskalacją uprawnień i naruszeniem integralności systemu.
Rekomendacja
Należy zaktualizować Jupyter Server do wersji 2.6.0 lub nowszej. Dodatkowo należy unikać ręcznej rejestracji przestarzałego modułu jupyter_server.gateway.handlers oraz zweryfikować, czy konfiguracja Autoryzatora prawidłowo egzekwuje uprawnienia do wykonania jądra.
Inne podatności w Jupyter Server
Zobacz wszystkie- CVE-2026-86049Wysokie
Jupyter Server, backend aplikacji webowych Jupyter, w wersjach przed 2.21.0 kopiuje nagłówek Referer do bloku nagłówków JSON w ścieżce logowania żądań 5xx bez stosowania oczyszczania tokenów używanego dla URI żądania. Żądanie zwracające HTTP 500, którego Referer zawiera URL z tokenem, może zapisać ten token w logach serwera w postaci jawnej.
- CVE-2026-44727Średnie
Jupyter Server przed wersją 2.20 zawiera podatność na trwałe XSS w handlerach nbconvert. Notatnik z ładunkiem HTML w danych wyjściowych display_data może prowadzić do przejęcia ciasteczek, pełnego dostępu do API i zdalnego wykonania kodu w jądrze.
- CVE-2026-6657Wysokie
W jupyter-server w wersjach od 1.12.0 do 2.17.0 występuje luka umożliwiająca ominięcie walidacji pochodzenia CORS przy użyciu konfiguracji `allow_origin_pat`. Problem wynika z użycia `re.match()`, które dopasowuje tylko początek ciągu, co pozwala domenom atakującego (np. `trusted.example.com.evil.com`) przejść walidację dla wzorców przeznaczonych dla `trusted.example.com`. Luka dotyczy nagłówków CORS, połączeń WebSocket, walidacji referera i przekierowań logowania, co może umożliwić ataki phishingowe, zdalne wykonanie kodu i nieautoryzowany dostęp do wrażliwych odpowiedzi API.
- CVE-2026-5422Wysokie
Podatność typu path traversal w jupyter-server 2.17.0 wynika z nieprawidłowego sprawdzania granic katalogu głównego w funkcji _get_os_path(). Umożliwia to nieautoryzowany odczyt/zapis plików w katalogach sąsiednich.
- CVE-2026-40934Średnie
Jupyter Server do wersji 2.17.0 przechowuje sekret używany do podpisywania ciasteczek uwierzytelniających w statycznym pliku i nie zmienia go po zmianie hasła. Po resecie hasła i restarcie serwera poprzednie ciasteczka pozostają ważne, co pozwala atakującemu, który przechwycił ciasteczko sesji, na zachowanie dostępu pomimo zmiany hasła.
- CVE-2026-40110Wysokie
Jupyter Server w wersjach 2.17.0 i wcześniejszych używa re.match() do walidacji nagłówka Origin, co pozwala na obejście ograniczeń CORS. Atakujący kontrolujący domenę taką jak trusted.example.com.evil.com może wysyłać żądania międzyoriginowe do API serwera.
- CVE-2026-35397Wysokie
Jupyter Server w wersjach 2.17.0 i wcześniejszych zawiera podatność typu path traversal w REST API, która pozwala uwierzytelnionemu użytkownikowi na opuszczenie skonfigurowanego root_dir i dostęp do katalogów siostrzanych, których nazwy zaczynają się od tego samego prefiksu co root_dir. Atakujący może odczytywać, zapisywać i usuwać pliki w dotkniętych katalogach siostrzanych. Wdrożenia wielodostępowe z przewidywalnymi schematami nazewnictwa są szczególnie narażone. Wersja 2.18.0 zawiera poprawkę.
- CVE-2025-61669Średnie
Jupyter Server w wersjach do 2.17.0 włącznie ma niewystarczającą walidację parametru zapytania next w przepływie logowania w metodzie LoginFormHandler._redirect_safe(), co pozwala na przekierowanie na dowolne zewnętrzne domeny. Atakujący może użyć spreparowanego adresu URL logowania, aby przekierować użytkowników na złośliwą stronę i ułatwić ataki phishingowe.
- CVE-2023-40170Średnie
W jupyter-server występuje problem z niewłaściwymi kontrolami poświadczeń między witrynami na adresach URL `/files/`, co może prowadzić do ujawnienia zawartości niektórych plików lub dostępu do plików podczas otwierania niezaufanych plików. Problem został rozwiązany w wersji `2.7.2`.
- CVE-2023-39968Średnie
Podatność w jupyter-server umożliwia atak typu Open Redirect, który pozwala na przekierowanie użytkowników do dowolnych stron po zalogowaniu się na serwer Jupyter. Złośliwie skonstruowane linki logowania mogą prowadzić do nieautoryzowanych przekierowań.
Oryginalny opis (angielski, źródło NVD)
Jupyter Server is the backend for Jupyter web applications. From 2.0.0 until 2.6.0, enabling GatewayClient.url replaced the normal KernelWebsocketHandler with WebSocketChannelsHandler, which authenticated the user but did not call authorizer.is_authorized(...) for the execute action on the kernels resource. A restricted authenticated user could therefore open an upstream kernel channel and obtain kernel execution despite the configured Authorizer denying that action, exposing data and credentials available to the kernel and permitting modification or disruption of the kernel environment. The default gateway configuration is fixed in version 2.6.0. In 2.6.0 and later, the same authorization bypass remains possible when a deployment manually registers the deprecated jupyter_server.gateway.handlers module, because its handler still omits the configured kernel-execute authorization decision.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

