Impact
A path traversal flaw in Jupyter Server’s REST API allows an authenticated user to escape the configured root directory and read, write, or delete files in sibling directories that share a name prefix with the root. The vulnerability is a classic example of CWE‑22, where insufficient validation of path components leads to unauthorized filesystem access. An attacker could craft requests to the /api/contents endpoint with encoded path elements to reach directories whose names begin with the root directory’s prefix, thereby compromising confidentiality, integrity, and availability for the affected directories.
Affected Systems
Jupyter Server (jupyter_server) versions 2.17.0 and earlier are affected. The publicly available fix was introduced in version 2.18.0. Multi‑tenant deployments using predictable naming schemes, such as "user1" vs. "user10–user19", are particularly vulnerable.
Risk and Exploitability
The vulnerability has a CVSS score of 7.6, indicating a high impact if exploited. The EPSS score is not available, and the vulnerability is not listed in CISA’s KEV catalog. Because the flaw requires an authenticated user, the attacker must first obtain legitimate access to the Jupyter Server instance. Once authenticated, the attacker can exploit the API to traverse into adjacent directories that share a name prefix, potentially exposing sensitive data or tampering with files that belong to other users. The attack vector is inferred to be through crafted API requests; additional details about the exact permission checks are not provided in the description.
OpenCVE Enrichment
Github GHSA