CVE-2026-67338
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
JupyterLab przed wersją 4.5.9 zawiera podatność na trwałe cross-site scripting (XSS) w Menedżerze Rozszerzeń, która nie waliduje protokołów URI w metadanych pakietów. Atakujący mogą publikować złośliwe pakiety PyPI z adresami URL javascript: w metadanych projektu, które wykonują dowolny kod JavaScript w kontekście JupyterLab po kliknięciu nazwy rozszerzenia.
Ocena ryzyka
Ryzyko obejmuje możliwość wykonania dowolnego kodu JavaScript w sesji użytkownika, co może prowadzić do kradzieży danych, przejęcia sesji lub dalszych ataków na środowisko JupyterLab.
Rekomendacja
Zaleca się aktualizację JupyterLab do wersji 4.5.9 lub nowszej oraz zachowanie ostrożności przy instalowaniu rozszerzeń z nieznanych źródeł.
Inne podatności w JupyterLab
Zobacz wszystkie- CVE-2026-42557Krytyczne
JupyterLab przed wersją 4.5.7 posiada sanitizer HTML, który zezwala na atrybuty data-commandlinker-command i data-commandlinker-args na elementach button. CommandLinker nasłuchuje kliknięć na całym dokumencie i wykonuje nazwane polecenia bez sprawdzania, czy element pochodzi z zaufanego interfejsu JupyterLab. Notatnik z osadzonym przyciskiem w komórce HTML może wywołać dowolne polecenia JupyterLab, w tym wykonanie kodu, po jednym kliknięciu użytkownika.
- CVE-2026-73417Wysokie
JupyterLab od wersji 3.3.0 do 4.5.10 i 4.6.2 ma podatność w ustawieniach notebooka, gdzie ustawienia sideBySideLeftMarginOverride i sideBySideRightMarginOverride nie są poprawnie walidowane przed wstawieniem do stylu. Spreparowany plik overrides.json może zawierać instrukcje wykonywane jako kod, a zaimportowanie go lub automatyczne zastosowanie przez atakującego może prowadzić do wykonania kodu z uprawnieniami użytkownika.
- CVE-2026-73416Średnie
JupyterLab od wersji 4.5.0 do 4.5.10 i 4.6.2 ma podatność w menedżerze rozszerzeń PyPI. Wymuszanie blocked_extensions_uris używa słabszej normalizacji niż kanoniczna nazwa pakietu PyPI. Uwierzytelniony użytkownik może zażądać instalacji pakietu równoważnego PyPI, np. JupyterLab.Git dla zablokowanego jupyterlab-git, co pozwala obejść listę blokad.
- CVE-2026-73627Średnie
JupyterLab (pakiet pip 'jupyterlab') w wersjach >=4.1.0,<=4.5.9 oraz >=4.6.0,<=4.6.1 zawiera obejście egzekwowania zasad blokad menedżera wtyczek. Dwie luki po stronie serwera pozwalają uwierzytelnionemu użytkownikowi ominąć zasady blokad administratora poprzez bezpośrednie żądania do punktu końcowego /lab/api/plugins, umożliwiając włączanie lub wyłączanie zablokowanych wtyczek — w tym wtyczek podrzędnych rozszerzeń wielowtyczkowych oraz wtyczek zablokowanych mechanizmem 'lock all'. Może to wpłynąć na integralność danych i ominąć zabezpieczenia lub ograniczenia (np. limity pobierania/wysyłania) wdrożone przez zablokowane wtyczki. Naprawiono w wersjach 4.6.2 i 4.5.10.
- CVE-2026-73626Wysokie
JupyterLab w wersjach >=4.6.0,<=4.6.1 oraz <=4.5.9 zawiera lukę w egzekwowaniu listy dozwolonych/zablokowanych w PyPIExtensionManager.install(). Brakujące 'await' powoduje, że coroutine is_install_allowed nigdy nie jest wykonywana, więc sprawdzenie listy dozwolonych/zablokowanych nie jest egzekwowane dla bezpośrednich wywołań install(). Standardowe API HTTP i interfejs Extension Managera nie są dotknięte, ponieważ wykonują osobne, poprawnie oczekiwane sprawdzenie. Problem dotyczy tylko wdrożeń, gdzie niestandardowe rozszerzenie lub integracja importuje PyPIExtensionManager i wywołuje install() bezpośrednio z nazwą pakietu wpływającą z niezaufanego wejścia, skonfigurowano listę dozwolonych/zablokowanych, włączono menedżer rozszerzeń PyPI oraz wyłączono jądra i terminale lub przekazano je do zdalnych hostów. Poprawiono w JupyterLab 4.6.2 i 4.5.10.
- CVE-2026-73415Wysokie
JupyterLab przed wersjami 4.5.10 i 4.6.2 zawiera podatność na cross-site scripting w komponencie ImageViewer. Specjalnie spreparowany obraz SVG otwierany w podglądzie obrazów, a następnie w nowej karcie przeglądarki, zachowuje kontekst samego pochodzenia, co umożliwia wykonanie dowolnego kodu na serwerze JupyterLab.
- CVE-2026-42266Wysokie
JupyterLab w wersjach od 4.0.0 do 4.5.6 nieprawidłowo egzekwuje listę dozwolonych rozszerzeń (allowed_extensions_uris) w Menedżerze Rozszerzeń PyPI. Pozwala to na instalowanie rozszerzeń spoza domyślnego indeksu PyPI, co może prowadzić do uruchomienia niebezpiecznego kodu.
Oryginalny opis (angielski, źródło NVD)
JupyterLab before 4.5.9 contains a stored cross-site scripting vulnerability in the Extension Manager that fails to validate URI protocols in package metadata URLs. Attackers can publish malicious PyPI packages with javascript: URLs in project metadata that execute arbitrary JavaScript in the JupyterLab origin when users click the extension name.

