High severity · published Jun 2, 2026
CVE-2026-5422
Path Traversal in jupyter/jupyter
8.1
CVSS
4.9%
EPSS
No
On KEV
Description
A path traversal vulnerability exists in jupyter-server version 2.17.0 due to an incorrect root directory boundary check in the _get_os_path() function within jupyter_server/services/contents/fileio.py. The check uses startswith(root) without appending a trailing path separator, allowing sibling directories with names starting with the same prefix as root_dir to bypass the check. Additionally, the to_os_path() function in utils.py does not strip ".." from path parts, enabling traversal sequences to bypass the vulnerable check. This vulnerability can lead to unauthorized read/write access to files in sibling directories, potentially exposing sensitive data in shared hosting environments.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)4.9% · higher than 92% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
JU
jupyter/jupyter · jupyter
through latest · source: vendor
JS
Jupyter Server · Jupyter
2.17.0 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-5422
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-5422
Exploit
https://huntr.com/bounties/24a36953-6490-466f-8cb2-a90d1ca56e0f
More from jupyter/jupyter
8.8
CVE-2026-6657
CORS Origin Validation Bypass in jupyter-server
5.4
CVE-2026-6658
Cross-site Scripting (XSS) in jupyter/nbconvert
