CVE-2026-35397: jupyter-server path traversal allows access to sibling directories sharing root_dir name prefix
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.
Security readout for executives and security teams
Plain-English summary
An authenticated Jupyter user may escape their assigned root directory and access similarly named sibling directories. This can expose, alter, or delete another user’s files. Shared and multi-tenant environments face the greatest business risk, especially when directory names use predictable prefixes.
Executive priority
Treat this as a high-priority tenant-isolation issue. Expedite upgrades on shared Jupyter platforms because a normal authenticated user could compromise other tenants’ files. Apply the naming workaround immediately where upgrading cannot occur promptly.
Technical view
Jupyter Server before 2.18.0 improperly validates encoded paths submitted to the /api/contents REST endpoint. The CWE-22 flaw permits traversal from root_dir into sibling directories whose names begin with the same prefix. Successful abuse requires authentication and a suitable directory-name relationship, but needs no user interaction.
Likely exposure
Exposure is most likely where Jupyter Server before 2.18.0 serves multiple users, uses shared storage, and assigns prefix-overlapping directory names. Single-user installations or deployments without matching sibling names have reduced practical exposure, although affected software should still be upgraded.
Exploitation context
The CVSS 4.0 score is 7.6. Exploitation requires a low-privileged authenticated account and a qualifying sibling-directory naming condition. The supplied record is not in KEV and provides no evidence of active exploitation. Potential impact includes high confidentiality and integrity loss plus limited availability loss.
Researcher notes
The flaw depends on path normalization and prefix-based containment behavior around the contents API. Assessment should focus on authentication boundaries, configured root_dir values, sibling naming patterns, and filesystem permissions. The supplied sources confirm the fix in 2.18.0 but do not establish public exploitation or incident prevalence.
Mitigation direction
Upgrade Jupyter Server to version 2.18.0 or later.
Prioritize shared and multi-tenant deployments with predictable directory naming.
Until upgraded, ensure no sibling directory names share a common prefix.
Review the Jupyter and relevant operating-system vendor advisories for packaged fixes.
Validation and detection
Inventory Jupyter Server versions and flag every installation below 2.18.0.
Identify deployments where authenticated users can access the contents API.
Review sibling directory names for shared prefixes, especially predictable tenant identifiers.
Check file audit logs for unexpected cross-tenant reads, changes, or deletions.
Confirm the deployed package contains the vendor fix after upgrading.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-22: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
7Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.