---
id: CVE-2026-110859
title: >-
  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
summary: >-
  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 …
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-88
published: '2026-10-14'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T23:17:27.183'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-110859'
references:
  - url: >-
      https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-23mf-xhv8-69c2
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/gitpython-before-3.2.0-arbitrary-file-read-via-head-checkout-branch-name
    label: disclosure@vulncheck.com
tags:
  - nvd
ingestedAt: '2026-10-15T00:02:07.185Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
