CVE-2026-54528
Awaiting Analysis Awaiting Analysis - Queue

Path Traversal in JupyterLab Git Extension

Vulnerability report for CVE-2026-54528, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-08

Last updated on: 2026-07-09

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-08
Last Modified
2026-07-09
Generated
2026-07-11
AI Q&A
2026-07-09
EPSS Evaluated
2026-07-09
NVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
jupyterlab_git jupyterlab_git to 0.54.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-178 The product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability exists in the JupyterLab Git extension prior to version 0.54.0. It involves the use of the fnmatch.fnmatchcase() function in the GitHandler.prepare() method to enforce excluded paths. On case-insensitive filesystems, an authenticated user can exploit this by varying the casing of URL paths to bypass the exclusion rules and gain access to directories that should be excluded.

Impact Analysis

An authenticated user could exploit this vulnerability to read directories that are meant to be excluded from access. This could lead to unauthorized disclosure of sensitive information stored in those directories, potentially compromising confidentiality.

Mitigation Strategies

To mitigate this vulnerability, upgrade jupyterlab-git to version 0.54.0 or later, where the issue has been fixed.

Compliance Impact

This vulnerability allows an authenticated user on case-insensitive filesystems to bypass directory exclusions and access sensitive files and git history in excluded directories. Such unauthorized access to sensitive data could lead to violations of data protection regulations like GDPR and HIPAA, which require strict controls on access to personal and sensitive information.

By enabling unauthorized reading of restricted files and git operations, the vulnerability undermines confidentiality and access control requirements mandated by these standards, potentially resulting in non-compliance.

Detection Guidance

This vulnerability can be detected by checking if your JupyterLab Git extension version is 0.53.0 or earlier, as these versions are affected by the case-sensitivity bypass issue in excluded_paths.

To detect exploitation attempts on your system or network, monitor HTTP requests to the JupyterLab Git server for URL paths that vary only by case in segments that should be excluded. For example, requests to paths like /git/project/Secrets/status instead of /git/project/secrets/status may indicate attempts to bypass directory exclusions.

Suggested commands to help detect such attempts include using web server or application logs to search for case-variant URL requests targeting excluded directories.

  • Using grep on access logs to find case-variant requests: grep -i '/git/project/secrets' /path/to/access.log
  • Using curl to test if case variants of excluded paths are accessible (should return 404 if fixed): curl -i http://your-jupyterlab-server/git/project/Secrets/status
  • Check the installed version of jupyterlab-git to confirm if it is vulnerable: pip show jupyterlab-git

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54528. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart