Średnia

JupyterLab: Monit zaufania łącza polecenia może oznaczyć jako zaufany inny dokument niż kliknięty

  • Ujawniono: 15.10.2026
  • Aktualizacja: 21.10.2026 10:00

Opis

Plik Markdown lub wynik działania notatnika może zawierać przycisk uruchamiający polecenie JupyterLab. Od wersji 4.5.7 pierwsze kliknięcie takiego przycisku otwiera monit wskazujący nazwę polecenia z opcjami: Anuluj, Uruchom raz oraz Zaufaj. Wybór opcji Zaufaj powoduje wykonanie polecenia i oznaczenie dokumentu jako zaufany, dzięki czemu jego kolejne przyciski działają bez wyświetlania monitu.

To, który dokument zostanie oznaczony, rozstrzyga się w momencie udzielenia odpowiedzi przez użytkownika, a nie w chwili kliknięcia. Oba polecenia zaufania odczytują dokument, który jest aktualny w danej chwili: markdownviewer:trust używa tracker.currentWidget, a notebook:trust korzysta z równoważnego mechanizmu wyszukiwania. Jeśli inny dokument stanie się aktywny, gdy monit jest otwarty, to właśnie ten dokument zostanie oznaczony jako zaufany, a dokument przeglądany przez użytkownika pozostanie niezaufany.

Problem dotyczy użytkowników, jeśli spełnione są wszystkie poniższe warunki:

  • korzystają z JupyterLab w wersjach od 4.5.7 do 4.6.3 lub z aplikacji, która go zawiera, np. Notebook 7.5+;
  • otwierają plik Markdown lub notatnik pochodzący od innej osoby i klikają w nim przycisk;
  • wybierają opcję Zaufaj zamiast Anuluj lub Uruchom raz; oraz
  • drugi dokument staje się dokumentem bieżącym, gdy monit jest otwarty (na przykład w wyniku przywracania obszaru roboczego przy uruchomieniu, aktywacji widżetu przez rozszerzenie lub polecenia otwierającego plik).

Wpływ

Użytkownik traci kontrolę nad tym, który dokument został przez niego obdarzony zaufaniem. Każdy przycisk w dokumencie, który został (błędnie) oznaczony jako zaufany, działa od tego momentu bez potwierdzenia. Jeśli ten dokument również pochodził z niezaufanego źródła, jego przyciski uruchamiają się po pojedynczym kliknięciu bez pytania o zgodę. Jest to stan, któremu miało zapobiegać wprowadzenie monitu w GHSA-mqcg-5x36-vfcg..

Polecenie, które zostało uruchomione, miało zgodę użytkownika, ponieważ monit podawał jego nazwę, a użytkownik kliknął Zaufaj. Przeglądany pierwotnie dokument pozostaje niezaufany, więc przy kolejnym kliknięciu ponownie wyświetli monit.

Notatniki są zapisywane na dysku

Gdy oznaczonym dokumentem jest notatnik, skutki wykraczają poza bieżącą sesję przeglądarki. notebook:trust oznacza każdą komórkę jako zaufaną, a następnie zapisuje plik, co powoduje podpisanie go przez serwer; w efekcie notatnik pozostaje zaufany przy kolejnym otwarciu. Zapis powoduje również utrwalenie wszelkich niezapisanych zmian w tym notatniku. Wcześniej pojawia się drugie potwierdzenie, informuje ono jednak wyłącznie o tym, że zaufany notatnik może wykonywać ukryty kod, bez podawania nazwy pliku – nie wskazuje więc użytkownikowi, który notatnik ma zostać uznany za zaufany.

Podgląd Markdown oznaczony w ten sposób pozostaje zaufany tylko do momentu jego zamknięcia. Nic nie jest zapisywane na dysku.

Poprawki

Wersje JupyterLab v4.6.4 oraz v4.5.11 zawierają poprawkę. Żądanie zaufania przenosi teraz dokument, w który kliknięto, a polecenie jest wykonywane dopiero po oznaczeniu tego konkretnego dokumentu.

Użytkownicy aplikacji zależnych od JupyterLab, takich jak Notebook v7+, powinni również zaktualizować pakiet jupyterlab.

Obejścia

Biorąc pod uwagę wysoką złożoność potencjalnego ataku, zaleca się potraktowanie tego jako elementu obrony w głąb (defense-in-depth) i przeprowadzenie aktualizacji przy najbliższej okazji, zamiast stosowania poniższych obejść. Jednakże dla użytkowników pracujących w środowiskach o wysokim rygorze bezpieczeństwa, którzy nie mogą dokonać aktualizacji, dostępne są następujące rozwiązania alternatywne.

Wyłączenie modułu wiązania poleceń (command linker), co całkowicie usuwa możliwość wykonywania poleceń interfejsu:

js
{
  "@jupyterlab/apputils-extension:sanitizer": {
    "allowCommandLinker": false
  }
}

W takiej konfiguracji przyciski w plikach Markdown i wynikach notatników nie podejmują żadnych działań po kliknięciu. Dokumentacja oraz rozszerzenia wykorzystujące łącza poleceń do nawigacji przestaną działać, a ustawienie to ma zastosowanie do każdego dokumentu, nie tylko tych niezaufanych.

Jeśli wyłączenie tego ustawienia nie jest pożądane, a aktualizacja nie jest możliwa, należy poinstruować użytkowników, aby wybierali opcję „Uruchom raz” zamiast „Zaufaj”. Wybór „Uruchom raz” wykonuje polecenie, lecz żaden dokument nie zostaje oznaczony, dzięki czemu żaden plik nie zostanie omyłkowo uznany za zaufany.

Co trzeba zrobić

Zaktualizuj JupyterLab do wersji v4.6.4 lub v4.5.11. Użytkownicy aplikacji zależnych, takich jak Notebook v7+, powinni także zaktualizować pakiet jupyterlab. Jeśli aktualizacja nie jest możliwa, wyłącz mechanizm łączy poleceń za pomocą ```json { "@jupyterlab/apputils-extension:sanitizer": { "allowCommandLinker": false } }

lub

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Python (PyPI) jupyterlab >= 4.6.0, < 4.6.4, >= 4.5.7, < 4.5.11 4.6.4, 4.5.11
Python (PyPI) jupyterlite-core >= 0.7.5, < 0.8.4 0.8.4
Python (PyPI) notebook >= 7.5.6, < 7.6.3 7.6.3

Odnośniki

Ocena CVSS 4.2/10
Wektor CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
Słabość (CWE)
CWE-367, CWE-863
Platforma
Python (PyPI)
Paczka
jupyterlab, jupyterlite-core, notebook
Ujawniono
15.10.2026
Aktualizacja
21.10.2026 10:00

Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.

OSV / GitHub Advisory Database - GHSA-jwrc-gm9j-263p - CC BY 4.0

Historia podatności: jupyterlite-core

Wszystkie opisane podatności tej paczki (Python (PyPI)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkich wpisów
4
Pierwsza → ostatnia
09.2024 10.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Wysoka 1
  • Średnia 3

Ujawnienia w latach

  1. 2024: 1
  2. 2025: 0
  3. 2026: 3
  1. JupyterLab: Monit zaufania łącza polecenia może oznaczyć jako zaufany inny dokument niż kliknięty ten wpis
    Średnia · 4.2 CVE-2026-102832 >= 0.7.5, < 0.8.4 0.8.4
  2. Średnia · 8.1 ghsa-gj55-2xf9-67rq < 0.4.1 0.4.1

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.