CVE-2026-40110
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykonywać nieautoryzowane żądania międzyoriginowe, potencjalnie uzyskując dostęp do wrażliwych danych lub funkcji Jupyter.
Rekomendacja
Zaktualizuj Jupyter Server do wersji 2.18.0 lub nowszej.
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-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-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, the Origin header validation uses Python's re.match() to check incoming origins against the allow_origin_pat configuration value. Because re.match() only anchors at the start of the string and does not require a full match, a pattern intended to match only a trusted domain (e.g., trusted.example.com) will also match any origin that begins with that domain followed by additional characters (e.g., trusted.example.com.evil.com). An attacker who controls such a domain can bypass the CORS origin restriction and make cross-origin requests to the Jupyter Server API from an untrusted site. This issue has been fixed in version 2.18.0.

