CVE-2022-29241: Known or guessable hidden files may be accessed in Jupyter Server
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 rootdir 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/authorizedkeys, allowing a malicious user to read potentially sensitive data and possibly gain control of the impacted system.
Other sources
Jupyter Server provides the backend (i.e. the core services, APIs, and REST endpoints) for Jupyter web applications like Jupyter Notebook. Prior to version 1.17.1, if notebook server is started with a value of rootdir 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 a cross-site scripting payload 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/authorizedkeys, allowing a malicious user to read potentially sensitive data and possibly gain control of the impacted system. This issue is patched in version 1.17.1.
Affected Software
Event History
Frequently Asked Questions
What is CVE-2022-29241?
CVE-2022-29241 is a vulnerability in Jupyter Server that allows an attacker to execute arbitrary code by exploiting a directory traversal vulnerability.
How does CVE-2022-29241 affect Jupyter Server?
CVE-2022-29241 affects Jupyter Server versions 1.16.0 and earlier, 1.17.0 and 2.0.0a0. It can potentially allow an attacker to execute arbitrary code if the server is started with a specific root directory.
What is the severity of CVE-2022-29241?
CVE-2022-29241 has a severity rating of 8.8 (Critical).
How can I fix CVE-2022-29241?
To fix CVE-2022-29241, update Jupyter Server to version 1.17.1 or later, or version 2.0.0a1 or later.
Where can I find more information about CVE-2022-29241?
You can find more information about CVE-2022-29241 in the following references: [GitHub Advisory](https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-q874-g24w-4q9g), [NVD](https://nvd.nist.gov/vuln/detail/CVE-2022-29241), [PyPA Advisory Database](https://github.com/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2022-211.yaml).