Ad · Leaderboard 728×90

CVE-2026-110859

7.5High

Published 14 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash

7.5High
Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None
Impact
High impact on confidentiality
Weakness
CWE-88

Impact

Remote attackers can read arbitrary files from the host system if your application clones or checks out an untrusted Git repository. The attacker only needs the application to clone a repo with a maliciously named branch, leaking file contents via error messages.

Root cause

GitPython's Head.checkout() passes branch names directly to the git command line without sanitization, allowing branch names formatted like flags to be interpreted as command-line options.

Affected systems

GitPython versions prior to 3.2.0

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Fix & remediation

Upgrade GitPython to version 3.2.0 or later. If upgrading immediately is not possible, sanitize or validate branch names before passing them to Head.checkout() or avoid cloning untrusted repositories.

shell
$ pip install --upgrade 'GitPython>=3.2.0'

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD description

GitPython before 3.2.0 contains an argument injection vulnerability in Head.checkout() that allows remote attackers to read arbitrary files by supplying a branch name parsed as a git option. Attackers can host a repository whose default branch is named --pathspec-from-file=<path>, causing cloning applications that check out the active branch to leak file contents through GitCommandError messages.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-110859

Ad · Sticky 320×50 / 728×90