Read the docs
TI-2025-21676 Aliases CVE-2025-30370GHSA-cj5w-8mjf-r5f8

jupyterlab-git has a command injection vulnerability in "Open Git Repository in Terminal"

Priority HIGH 66CWE-78Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
Required
Attack complexity
High
Impact type
Code execution
Confidentiality · integrity · availability
Low · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-78.

Summary

jupyterlab-git is a JupyterLab extension for version control using Git. On many platforms, a third party can create a Git repository under a name that includes a shell command substitution string in the syntax $(<command>). These directory names are allowed in macOS and a majority of Linux distributions. If a user starts jupyter-lab in a parent directory of this inappropriately-named Git repository, opens it, and clicks "Git > Open Git Repository in Terminal" from the menu bar, then the injected command <command> is run in the user's shell without the user's permission. This issue is occurring because when that menu entry is clicked, jupyterlab-git opens the terminal and runs cd <git-repo-path> through the shell to set the current directory. Doing so runs any command substitution strings present in the directory name, which leads to the command injection issue described here. A previous patch provided an incomplete fix. This vulnerability is fixed in 0.51.1.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00597 48th percentileScored 2026-11-07
Fix Fixed jupyterlab-git (jupyterlab): 0.51.1jupyterlab-git (PyPI): 0.51.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
jupyterlabjupyterlab-gitbefore 0.51.10.51.1Patch availableCNA
—jupyterlab-git (PyPI)before 0.51.10.51.1Patch availableGHSA-cj5w-8mjf-r5f8
  • jupyterlab-git Vendorjupyterlab Affected before 0.51.1 Fixed in 0.51.1 Patch available CNA
  • jupyterlab-git (PyPI) Vendor— Affected before 0.51.1 Fixed in 0.51.1 Patch available GHSA-cj5w-8mjf-r5f8

Remediation

  • Fix · CNA jupyterlab-git (jupyterlab) Fixed in 0.51.1
  • Fix · GHSA-cj5w-8mjf-r5f8 jupyterlab-git (PyPI) Fixed in 0.51.1 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat OpenShift AI (RHOAI)

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-30370
  2. 2026-10-03 Alias added: GHSA-cj5w-8mjf-r5f8

References

  • TI-2026-32161 Jupyter Enterprise Gateway Has Kubernetes Manifest Injection via Jinja2 Template Rendering CVSS 4.0CRITICAL 10.0
  • TI-2026-32160 Jupyter Enterprise Gateway: Jinja2 Template Server Side Template Injection results in Remote Code Execution CVSS 4.0CRITICAL 10.0
  • TI-2026-32159 Jupyter Enterprise Gateway: ContainerProcessProxy._enforce_prohibited_ids can be Bypassed CVSS 3.1CRITICAL 9.8
  • TI-2024-26623 Remote Code Execution (RCE) vulnerability in jupyterlab extension template `update-integration-tests` GitHub Action CVSS 3.1CRITICAL 10.0
  • TI-2026-78983 Path traversal in nbconvert lets crafted notebooks write files CVSS 4.0HIGH 8.8
  • TI-2026-39372 JupyterLab Git: Stored XSS leading to RCE CVSS 4.0CRITICAL 9.3
See all 89 →

Sources