Zero Radar
← feed
HighVulnerabilityGHSA-w8jc-g24h-crhwupdated 27 Oct 2026, 15:27 UTC

GitPython: some git commands skip safety checks, allowing command injection

GitPython is a Python library that runs git for you. A few of its helper functions pass user-supplied text straight to git without the usual safety checks. A crafted repository address or option could make git run commands on your machine.

Fixed in GitPython 3.2.0Official source
SeverityHighCVSS 7.5 of 10
Being exploited?UnclearNo reports either way yet
Fix available?YesGitPython 3.2.0 · since 27 Oct 2026
How sure is this?Official sourceBacked by an official source

How the attack works simplified

  1. 1Crafted URLAttacker supplies an ext:: address
  2. 2ls_remote callApp probes URL without the safety check
  3. 3git runsgit executes the ext helper command
  4. 4Command runsAttacker code runs on the host
  5. ResultAttacker runs commands on the machine

What happened

In GitPython up to 3.1.62, Git.ls_remote forwards the URL without the unsafe-protocol check (ext:: remote-helper URLs), and Repo.merge_base and IndexFile.move forward keyword arguments to git without the unsafe-option check. This allows argument injection and, for ls_remote, command execution when git permits the ext transport.

Why it is dangerous: Remote command execution is possible for ls_remote when the git transport policy allows ext::, which is the default on git older than 2.38.1. Applications that pass untrusted URLs or arguments to these calls are at risk.

Are you affected?

You are affected if you use GitPython 3.1.62 or earlier and call Git.ls_remote with untrusted URLs, or call Repo.merge_base or IndexFile.move with untrusted keyword arguments.

Package / productAffected versionsFixed in
GitPython · pip<= 3.1.623.2.0

What to do

  1. Update GitPython to 3.2.0 or later
  2. Do not pass untrusted URLs to Git.ls_remote until you have updated
  3. Upgrade git to 2.38.1 or later to block the ext:: transport by default

Timeline

  1. 27 Oct 2026, 15:26 UTC
    Publicly disclosed
  2. 27 Oct 2026, 15:26 UTC
    Reported by GitHub Advisory · GitHub Advisory
  3. 27 Oct 2026, 15:27 UTC
    Picked up by Zero Radar

Sources 1 report, oldest first

Official vendor, government CERT or advisory database

Technical details

ID
GHSA-w8jc-g24h-crhw
CVSS
7.5 / 10
Disclosed
27 Oct 2026, 15:26 UTC
On Zero Radar
27 Oct 2026, 15:27 UTC (1 min after disclosure)
Last change
27 Oct 2026, 15:27 UTC

The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works

GitPython: some git commands skip safety checks, allowing command injection · Zero Radar