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.
Published: 2026-06-02
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A path traversal flaw in jupyter-server 2.17.0 allows an attacker to read or modify files in directories that are siblings of the configured root directory. The defect arises from an incomplete boundary check in the _get_os_path() function, which uses startswith(root) without a trailing separator, and from to_os_path() that fails to strip '..' components. If exploited, this can expose sensitive data or alter files that should be outside the server’s intended workspace.

Affected Systems

The vulnerability is tied to the Jupyter Server component of the Jupyter project, specifically version 2.17.0. Any deployment of this edition, including shared hosting environments that expose the server to network or local access, is affected. The CNA lists the product as jupyter:jupyter/jupyter, and the related CPE indicates the issue is confined to this specific server release.

Risk and Exploitability

The CVSS score of 8.1 labels the issue as high severity, while the EPSS score of less than 1% suggests exploitation is unlikely at this time. The vulnerability is not cataloged in the CISA KEV database. The likely attack vector would involve HTTP requests to the Jupyter Server that contain crafted path components; an attacker who can influence such requests may be able to read or write files outside the intended folder structure.

Generated by OpenCVE AI on June 4, 2026 at 01:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Verify whether a newer release of jupyter-server addresses the path traversal problem and apply the update if one exists.
  • If no update is available, modify the root directory configuration so that it ends with a path separator or otherwise enforce stricter boundary checks when resolving requested paths.
  • Restrict the file system permissions of the Jupyter Server process so that it cannot read or write files outside its designated workspace.

Generated by OpenCVE AI on June 4, 2026 at 01:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 04 Jun 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-22
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 03 Jun 2026 17:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:jupyter:jupyter_server:2.17.0:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}


Tue, 02 Jun 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Jupyter
Jupyter jupyter Server
Vendors & Products Jupyter
Jupyter jupyter Server

Tue, 02 Jun 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 02 Jun 2026 10:00:00 +0000

Type Values Removed Values Added
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.
Title Path Traversal in jupyter/jupyter
Weaknesses CWE-23
References
Metrics cvssV3_0

{'score': 6.8, 'vector': 'CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Jupyter Jupyter Server
cve-icon MITRE

Status: PUBLISHED

Assigner: @huntr_ai

Published:

Updated: 2026-06-02T12:14:02.747Z

Reserved: 2026-04-02T12:44:03.302Z

Link: CVE-2026-5422

cve-icon Vulnrichment

Updated: 2026-06-02T12:12:01.952Z

cve-icon NVD

Status : Analyzed

Published: 2026-06-02T10:16:25.800

Modified: 2026-06-03T17:09:31.823

Link: CVE-2026-5422

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-06-02T09:11:15Z

Links: CVE-2026-5422 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-06-04T01:45:46Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-23

    Relative Path Traversal