CVE-2026-35397 json
jupyter-server path traversal allows access to sibling directories sharing root_dir name prefix
published 6mo ago modified last mo. also EUVD-2026-27470 , GHSA-5789-5fc7-67v3 , PYSEC-2026-68
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
Summary
Jupyter Server is the backend for Jupyter web applications. In versions 2.17.0 and earlier, a path traversal vulnerability in the REST API allows an authenticated user to escape the configured root_dir and access sibling directories whose names begin with the same prefix as the root_dir. For example, with a root_dir named "test", the API permits access to a sibling directory named "testtest" through a crafted request to the /api/contents endpoint using encoded path components. An attacker can read, write, and delete files in affected sibling directories. Multi-tenant deployments using predictable naming schemes are particularly at risk, as a user with a directory named "user1" could access directories for user10 through user19 and beyond. A user who can choose a single-character folder name could gain access to a significant number of sibling directories.
Version 2.18.0 contains a fix. As a workaround, ensure folder names do not share a common prefix with any sibling directory.
Patch / fix
- pypi jupyter-server 2.18.0
- Red Hat Red Hat Migration Toolkit for Applications 8.2 1784109883
- Red Hat Red Hat OpenShift AI 3.4 1787073546, 1787073593, 1787073605, 1787073713, 1787073717, 1787073913, 1787073929, 1787074078, 1787074331, 1787076481, 1787076778, 1787077779
- jupyter-server Debian 14 2.20.0-1
debian advisories DEBIAN-CVE-2026-35397
- python-jupyter-server openSUSE Tumbleweed 2.18.1-1.1
opensuse advisories openSUSE-SU-2026:10710-1
- jupyter-server Alpine 3.24 2.18.2-r0
alpine advisories ALPINE-CVE-2026-35397
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Is CVE-2026-35397 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-35397 updated cvss 7.1
jupyter-server: Jupyter Server: Unauthorized File Access via Path Traversal Vulnerability
-
Red Hat Migration Toolkit for Applications 8.2 mta/mta-solution-server-rhel9 1784109883fixed: vendor fix RHSA-2026:43038
-
Red Hat OpenShift AI 3.3 rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9 1790260954, rhoai/odh-workbench-jupyter-minimal-cuda-py312-rhel9 1790072130, rhoai/odh-workbench-jupyter-minimal-rocm-py312-rhel9 1790072109, rhoai/odh-workbench-jupyter-pytorch-cuda-py312-rhel9 1789651387, rhoai/odh-workbench-jupyter-pytorch-rocm-py312-rhel9 1789651385, rhoai/odh-workbench-jupyter-trustyai-cpu-py312-rhel9 1790260954, +4 morefixed: vendor fix RHSA-2026:73987
-
Red Hat OpenShift AI 3.4 rhoai/odh-th06-cpu-torch210-py312-rhel9 1787076778, rhoai/odh-th06-rocm64-torch291-py312-rhel9 1787076481, rhoai/odh-th06-cuda130-torch210-py312-rhel9 1787077779, rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9 1787073913, rhoai/odh-workbench-jupyter-minimal-cuda-py312-rhel9 1787074078, rhoai/odh-workbench-jupyter-minimal-rocm-py312-rhel9 1787073929, +6 morefixed: vendor fix RHSA-2026:60520
-
Red Hat Migration Toolkit for Applications 8.2 mta/mta-ui-rhel9 1783962515, mta/mta-cli-rhel9 1784211378, mta/mta-hub-rhel9 1784059743, mta/mta-rhel9-operator 1784219586, mta/mta-operator-bundle 1784220119, mta/mta-analyzer-addon-rhel9 1784163267, +7 morenot affected: vulnerable code not present
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-th06-cpu-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch291-py312-rhel9not affected: component not present
-
Red Hat OpenShift AI 3.3 rhoai/odh-cli-rhel9 1790070206, rhoai/rhai-cli-rhel9 1790070206, rhoai/odh-mlflow-rhel9 1789653606, rhoai/odh-trainer-rhel9 1790136369, rhoai/odh-maas-api-rhel9 1790131842, rhoai/odh-mlserver-rhel9 1789121365, +67 more Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1787330837, rhoai/rhai-cli-rhel9 1787330837, rhoai/odh-automl-rhel9 1786612415, rhoai/odh-mlflow-rhel9 1787226790, rhoai/odh-autorag-rhel9 1786612637, rhoai/odh-trainer-rhel9 1787089049, +88 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 6mo ago
Exploit prediction
0.62% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-5789-5fc7-67v3 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.6 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N |
| CISA ADP | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L |
| GitHub | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L |
| CNA | 4.0 | 7.6 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L |
| OSV | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jupyter-server | <2.18.0 |
2.18.0 |
Affected products
- jupyter-server jupyter_server
- Red Hat Red Hat Migration Toolkit for Applications 8.2
- Red Hat Red Hat OpenShift AI 3.4
- Red Hat Red Hat OpenShift AI (RHOAI)
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/jupyter-server/jupyter_server/security/advisories/GHSA-5789-5fc7-67v3
exploit, web, vendor-advisory, evidence
-
access.redhat.com
/errata/RHSA-2026:43038
vendor-advisory, web
-
access.redhat.com
/errata/RHSA-2026:60520
vendor-advisory, web
-
access.redhat.com
/security/cve/CVE-2026-35397
vdb-entry, web
-
bugzilla.redhat.com
/show_bug.cgi?id=2466858
issue-tracking, web
-
security.access.redhat.com
/data/csaf/v2/vex/2026/cve-2026-35397.json
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-35397
advisory
-
github.com
/jupyter-server/jupyter_server
package
-
github.com
/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-68.yaml
web
Sources
- CVE List CVE-2026-35397
- GitHub Advisory GHSA-5789-5fc7-67v3
- NVD CVE-2026-35397
- OSV PYSEC-2026-68
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.