Arbitrary Argument Injection Affecting gitpython package, versions [3.1.30,3.2.0)


Severity

Recommended
0.0
critical
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.46% (39th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PYTHON-GITPYTHON-21246264
  • published19 Oct 2026
  • disclosed15 Oct 2026
  • creditzx, Daniel Coles

Introduced: 15 Oct 2026

NewCVE-2026-110858  (opens in a new tab)
CWE-88  (opens in a new tab)

How to fix?

Upgrade GitPython to version 3.2.0 or higher.

Overview

GitPython is a python library used to interact with Git repositories

Affected versions of this package are vulnerable to Arbitrary Argument Injection via Remote.pull(), whose unsafe-option guard calls Git._option_candidates([], kwargs) with an empty positional list, meaning the positional refspec argument is never screened against unsafe_git_pull_options. An attacker who controls the refspec value can supply --upload-pack=<command> which bypasses the guard, is forwarded verbatim to the git pull child process, and is executed as the upload-pack program because git pull re-forwards trailing positionals to an internal git fetch without reinserting a -- separator. This yields arbitrary OS command execution as the calling process with no user interaction required.

Note: Exploitation requires the remote to use a local filesystem path or SSH transport; over HTTPS the --upload-pack value is inert because the server ignores a client-supplied upload-pack program.

References

CVSS Base Scores

version 4.0
version 3.1