CVE-2026-35397
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 45 - wyżej niż 45% wszystkich znanych CVE
Streszczenie
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ę.
Ocena ryzyka
Organizacja narażona jest na nieautoryzowany dostęp do plików innych użytkowników w środowiskach wielodostępowych, co może prowadzić do wycieku poufnych danych i naruszenia integralności.
Rekomendacja
Należy natychmiast zaktualizować Jupyter Server do wersji 2.18.0 lub nowszej. Jako tymczasowe obejście, należy zapewnić, że nazwy folderów nie mają wspólnego prefiksu z żadnym katalogiem siostrzanym.
Inne podatności w Jupyter Server
Zobacz wszystkie- 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-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. In versions 2.17.0 and earlier, a path traversal vulnerability in the REST API allows an authenticated user to escape the configured root_dir and access sibling directories whose names begin with the same prefix as the root_dir. For example, with a root_dir named "test", the API permits access to a sibling directory named "testtest" through a crafted request to the /api/contents endpoint using encoded path components. An attacker can read, write, and delete files in affected sibling directories. Multi-tenant deployments using predictable naming schemes are particularly at risk, as a user with a directory named "user1" could access directories for user10 through user19 and beyond. A user who can choose a single-character folder name could gain access to a significant number of sibling directories. Version 2.18.0 contains a fix. As a workaround, ensure folder names do not share a common prefix with any sibling directory.

