Jupyter server Token bruteforcing
High severity
GitHub Reviewed
Published
Jun 14, 2022
in
jupyter-server/jupyter_server
•
Updated Oct 26, 2023
Package
Affected versions
>= 0, < 1.17.1
= 2.0.0a0
Patched versions
1.17.1
2.0.0a1
Description
Published by the National Vulnerability Database
Jun 14, 2022
Published to the GitHub Advisory Database
Jun 16, 2022
Reviewed
Jun 16, 2022
Last updated
Oct 26, 2023
Affects: Notebook and Lab between 6.4.0?(potentially earlier) and 6.4.11 (currently latest). Jupyter Server <=1.16.0. If I am correct about the responsible code it will affect Jupyter-Server 1.17.0 and 2.0.0a0 as well.
Description: If notebook server is started with a value of
root_dir
that contains the starting user's home directory, then the underlying REST API can be used to leak the access token assigned at start time by guessing/brute forcing the PID of the jupyter server. While this requires an authenticated user session, this url can be used from an xss payload (as in CVE-2021-32798) or from a hooked or otherwise compromised browser to leak this access token to a malicious third party. This token can be used along with the REST API to interact with Jupyter services/notebooks such as modifying or overwriting critical files, such as .bashrc or .ssh/authorized_keys, allowing a malicious user to read potentially sensitive data and possibly gain control of the impacted system.References