Podatność w Jupyter Notebook pozwala na wykonanie dowolnego kodu na komputerze ofiary w momencie otwarcia złośliwego pliku notatnika (.ipynb). Wynika z użycia przestarzałej i podatnej wersji biblioteki Google Caja do sanityzacji danych wejściowych.
▸ Pokaż oryginał (EN)
The Jupyter notebook is a web-based notebook environment for interactive computing. In affected versions untrusted notebook can execute code on load. Jupyter Notebook uses a deprecated version of Google Caja to sanitize user inputs. A public Caja bypass can be used to trigger an XSS when a victim opens a malicious ipynb document in Jupyter Notebook. The XSS allows an attacker to execute arbitrary code on the victim computer using Jupyter APIs.
Jupyter Notebook korzysta z nieaktualnej wersji biblioteki Google Caja, której zadaniem jest sanityzacja danych wejściowych użytkownika. Istnieje publicznie znany sposób na obejście mechanizmów sanityzacji Caja (tzw. Caja bypass), który umożliwia wstrzyknięcie złośliwego kodu XSS do dokumentu notatnika. Gdy ofiara otwiera spreparowany plik .ipynb, payload XSS jest automatycznie wykonywany bez żadnej interakcji użytkownika. Atakujący wykorzystuje następnie API Jupyter do eskalacji XSS do pełnego wykonania dowolnego kodu (RCE) w kontekście sesji ofiary.
Atakujący może wykonać dowolny kod na komputerze ofiary z uprawnieniami jej sesji Jupyter, co może prowadzić do przejęcia kontroli nad środowiskiem obliczeniowym, kradzieży danych lub dalszego lateral movement w sieci.
Należy zastosować patche dostępne u producenta zgodnie z referencjami; commit naprawczy dostępny pod adresem: github.com/jupyter/notebook/commit/79fc76e890a8ec42f73a3d009e44ef84c14ef0d5. Zaleca się unikanie otwierania notatników .ipynb z niezaufanych źródeł do czasu zastosowania aktualizacji.
Jupyter Notebook — wersje wskazane w referencjach producenta (security advisory GHSA-hwvq-6gjx-j797)
Podatność jest wyzwalana automatycznie przy otwarciu pliku — nie wymaga żadnej dodatkowej interakcji użytkownika (UI:N w wektorze CVSS). Publicznie znany bypass Google Caja był dostępny przed ujawnieniem podatności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NJupyter Notebook
APPJupyter6.4.05.7.0 – 5.7.11 (bez)
Powiązane podatności
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Noteb...
The Jupyter notebook is a web-based notebook environment for interactive computing. Prior to version 6.4.9, un...
In Jupyter Notebook before 5.4.1, a maliciously forged notebook file can bypass sanitization to execute JavaSc...