CVE-2026-35397: Jupyter Server path traversal in REST API

CVE-2026-35397 · Severity: high · CVSS 8.8 · Published 2026-05-05

Jupyter Server, the core engine for Jupyter web applications, contains a security flaw that allows users to access files they should not be able to see. An authenticated user can bypass directory restrictions to read, modify, or delete files in other users' folders if those folders share a similar name. This is particularly dangerous in shared environments where many users have predictable folder names, potentially leading to data theft or loss.

Technologies: Jupyter Server, jupyter-server (PyPI). Vendors: Jupyter, PyPI.

Quick answers

Is CVE-2026-35397 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-35397 being exploited in the wild.
How severe is CVE-2026-35397?
High severity, with a CVSS score of 8.8, published 5 May 2026.
Which products and versions are affected?
jupyter-server (PyPI) ECOSYSTEM:introduced=0,fixed=2.18.0.
Is there a fix for CVE-2026-35397?
Yes. jupyter-server (PyPI): upgrade to 2.18.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-35397 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-35397?
Check whether you run Jupyter Server or jupyter-server (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • jupyter-server (PyPI): upgrade to 2.18.0 or later
    pip install "jupyter-server>=2.18.0"

Technical details

A path traversal vulnerability exists in the Jupyter Server REST API (/api/contents endpoint) due to improper validation of encoded path components. Authenticated attackers can escape the configured 'root_dir' to access sibling directories that share the same naming prefix (e.g., a user with access to 'user1' could access 'user10'). The exploit involves sending a crafted POST request to the checkpoints sub-endpoint using '%2e%2e/' sequences. This allows for full unauthorized file system operations (read/write/delete) within the scope of the prefixed sibling directories. The issue is fixed in version 2.18.0.

Affected products

  • Jupyter Jupyter Server <= 2.17.0
  • Red Hat Migration Toolkit for Applications 8 8
  • Red Hat Red Hat OpenShift AI (RHOAI)

Identifiers

  • CVE-2026-35397
  • GHSA-5789-5fc7-67v3
  • PYSEC-2026-68

Timeline

  • 2026-05-05: disclosed
  • 2026-05-05: advisory
  • 2026-05-05: patched: Fixed in version 2.18.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.