CVE-2026-54528 jupyterlab-git excluded_paths Case-Sensitivity Bypass Allows Reading Excluded Directories

High 7.1 Published Updated

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.

PackageAffectedFixed in
jupyterlab-git PyPIAll versions0.54.0
jupyterlab-git PyPIAll versions0.54.0
jupyterlab-git PyPIAll versions0.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.

Sources

Also known as GHSA-436q-jwfr-rm2h, PYSEC-2026-2539.

Is CVE-2026-54528 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free