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.
The product uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as “..” that can resolve to a location that is outside of that directory.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Jupyter_server | Jupyter | 2.17.0 (including) | 2.17.0 (including) |
| Red Hat Migration Toolkit for Applications 8.2 | RedHat | mta/mta-solution-server-rhel9:1784109883 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9:1790331087 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9:1790260954 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-minimal-cuda-py312-rhel9:1790072130 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-minimal-rocm-py312-rhel9:1790072109 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-pytorch-cuda-py312-rhel9:1789651387 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9:1789651389 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-pytorch-rocm-py312-rhel9:1789651385 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-tensorflow-cuda-py312-rhel9:1790077488 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-tensorflow-rocm-py312-rhel9:1789983680 | * |
| Red Hat OpenShift AI 3.3 | RedHat | rhoai/odh-workbench-jupyter-trustyai-cpu-py312-rhel9:1790260954 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-th06-cpu-torch210-py312-rhel9:1787076778 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-th06-cuda130-torch210-py312-rhel9:1787077779 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-th06-rocm64-torch291-py312-rhel9:1787076481 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-datascience-cpu-py312-rhel9:1787074331 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9:1787073913 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-minimal-cuda-py312-rhel9:1787074078 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-minimal-rocm-py312-rhel9:1787073929 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-pytorch-cuda-py312-rhel9:1787073605 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-pytorch-rocm-py312-rhel9:1787073546 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-tensorflow-cuda-py312-rhel9:1787073717 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-tensorflow-rocm-py312-rhel9:1787073713 | * |
| Red Hat OpenShift AI 3.4 | RedHat | rhoai/odh-workbench-jupyter-trustyai-cpu-py312-rhel9:1787073593 | * |
| Jupyter-server | Ubuntu | questing | * |