id: PYSEC-2026-2532 published: "2026-07-13T15:46:13.935289Z" modified: "2026-07-13T16:04:22.645443Z" aliases: - CVE-2026-5422 - GHSA-gf7q-q4j7-hp7c summary: "Jupyter Server vulnerable to Path Traversal via incorrect root directory boundary check in _get_os_path() " details: 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. affected: - package: name: jupyter-server ecosystem: PyPI purl: pkg:pypi/jupyter-server ranges: - type: ECOSYSTEM events: - introduced: "0" - fixed: 2.18.2 versions: - 0.0.0 - 0.0.1 - 0.0.2 - 0.0.3 - 0.0.4 - 0.0.5 - 0.1.0 - 0.1.1 - 0.2.0 - 0.2.1 - 0.3.0 - 1.0.0 - 1.0.0rc0 - 1.0.0rc1 - 1.0.0rc10 - 1.0.0rc11 - 1.0.0rc12 - 1.0.0rc13 - 1.0.0rc14 - 1.0.0rc15 - 1.0.0rc16 - 1.0.0rc2 - 1.0.0rc3 - 1.0.0rc4 - 1.0.0rc5 - 1.0.0rc6 - 1.0.0rc7 - 1.0.0rc8 - 1.0.0rc9 - 1.0.1 - 1.0.10 - 1.0.11 - 1.0.2 - 1.0.3 - 1.0.4 - 1.0.5 - 1.0.6 - 1.0.7 - 1.0.8 - 1.0.9 - 1.1.0 - 1.1.1 - 1.1.2 - 1.1.3 - 1.1.4 - 1.10.0 - 1.10.1 - 1.10.2 - 1.11.0 - 1.11.1 - 1.11.2 - 1.12.0 - 1.12.1 - 1.13.0 - 1.13.1 - 1.13.2 - 1.13.3 - 1.13.4 - 1.13.5 - 1.15.0 - 1.15.1 - 1.15.2 - 1.15.3 - 1.15.4 - 1.15.5 - 1.15.6 - 1.16.0 - 1.17.0 - 1.17.1 - 1.18.0 - 1.18.1 - 1.19.0 - 1.19.1 - 1.2.0 - 1.2.1 - 1.2.2 - 1.2.3 - 1.21.0 - 1.23.0 - 1.23.1 - 1.23.2 - 1.23.3 - 1.23.4 - 1.23.5 - 1.23.6 - 1.24.0 - 1.3.0 - 1.4.0 - 1.4.1 - 1.5.0 - 1.5.1 - 1.6.0 - 1.6.1 - 1.6.2 - 1.6.3 - 1.6.4 - 1.7.0 - 1.7.0a1 - 1.7.0a2 - 1.8.0 - 1.9.0 - 2.0.0 - 2.0.0a0 - 2.0.0a1 - 2.0.0a2 - 2.0.0b0 - 2.0.0b1 - 2.0.0rc0 - 2.0.0rc1 - 2.0.0rc2 - 2.0.0rc3 - 2.0.0rc4 - 2.0.0rc5 - 2.0.0rc6 - 2.0.0rc7 - 2.0.0rc8 - 2.0.1 - 2.0.2 - 2.0.3 - 2.0.4 - 2.0.5 - 2.0.6 - 2.0.7 - 2.1.0 - 2.10.0 - 2.10.1 - 2.11.0 - 2.11.1 - 2.11.2 - 2.12.0 - 2.12.1 - 2.12.2 - 2.12.3 - 2.12.4 - 2.12.5 - 2.13.0 - 2.14.0 - 2.14.1 - 2.14.2 - 2.15.0 - 2.16.0 - 2.17.0 - 2.18.0 - 2.18.1 - 2.2.0 - 2.2.1 - 2.3.0 - 2.4.0 - 2.5.0 - 2.6.0 - 2.7.0 - 2.7.1 - 2.7.2 - 2.7.3 - 2.8.0 - 2.9.0 - 2.9.1 references: - type: ADVISORY url: https://nvd.nist.gov/vuln/detail/CVE-2026-5422 - type: PACKAGE url: https://github.com/jupyter-server/jupyter_server - type: WEB url: https://huntr.com/bounties/24a36953-6490-466f-8cb2-a90d1ca56e0f - type: WEB url: http://github.com/jupyter-server/jupyter_server/commit/0d829f2c35a481c3b24ecbe1e25a6f79954e88f2 - type: PACKAGE url: https://pypi.org/project/jupyter-server - type: ADVISORY url: https://github.com/advisories/GHSA-gf7q-q4j7-hp7c severity: - type: CVSS_V3 score: CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N