Executive brief
Jupyter Server, a core component of the Jupyter ecosystem used to run interactive notebooks, is vulnerable to a security flaw that allows unauthorized access to files. An attacker with basic user permissions could bypass directory restrictions to read or write files in folders they should not have access to. This could lead to the exposure of sensitive data or the modification of system files in shared hosting environments.
Technical details
A path traversal vulnerability exists in jupyter-server versions prior to 2.18.2. The root cause is an insufficient boundary check in the `_get_os_path()` function within `fileio.py`, which uses `startswith(root)` without a trailing path separator. This allows sibling directories sharing the same prefix as the `root_dir` to bypass security checks. Furthermore, the `to_os_path()` utility fails to strip '..' sequences, facilitating traversal. An authenticated attacker with network access can exploit this to achieve unauthorized read and write access to files outside the intended root directory. The issue is addressed in version 2.18.2.
Affected products
- Jupyter jupyter-server < 2.18.2
Timeline
- 2026-06-02: disclosed
- 2026-06-02: advisory
- 2026-07-09: patched