CVE-2026-54528 jupyterlab-git excluded_paths Case-Sensitivity Bypass Allows Reading Excluded Directories
An authenticated user can bypass excluded path restrictions in JupyterLab Git by varying URL casing on case-insensitive filesystems, allowing unauthorized directory access.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-54528?
CVE-2026-54528 is a high-severity vulnerability in jupyterlab-git, published on 8 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
JupyterLab Git is a Git extension for JupyterLab. Prior to 0.54.0, jupyterlab-git uses fnmatch.fnmatchcase() in GitHandler.prepare() in jupyterlab_git/handlers.py to enforce excluded_paths, allowing an authenticated user on a case-insensitive filesystem to vary URL path casing and read excluded directories. This issue is fixed in version 0.54.0.
Weakness: CWE-178
Which versions are affected by CVE-2026-54528?
3 open source packages ship an affected version, including jupyterlab-git. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
jupyterlab-git PyPI | All versions | 0.54.0 |
jupyterlab-git PyPI | All versions | 0.54.0 |
jupyterlab-git PyPI | All versions | 0.54.0 |
Products include Jupyter Jupyterlab-Git.
How do I fix CVE-2026-54528?
Upgrade jupyterlab-git to 0.54.0 or later.
Is CVE-2026-54528 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54528 exists.
Other vulnerabilities in jupyterlab-git
Sources
Also known as GHSA-436q-jwfr-rm2h, PYSEC-2026-2539.