
Key points
- The National Vulnerability Database rates CVE-2026-110859 as high severity with a CVSS score of 8.7.
- The flaw allows remote attackers to read arbitrary files by supplying a branch name parsed as a git option.
- GitPython versions before 3.2.0 are affected; no patch status is confirmed in the source material.
Security teams managing Python environments must assess exposure to CVE-2026-110859, a high-severity vulnerability in the GitPython library. The National Vulnerability Database assigns this issue a CVSS score of 8.7, indicating significant risk. The flaw exists in all versions of GitPython prior to 3.2.0. It stems from an argument injection weakness in the Head.checkout() function. This defect allows remote attackers to read arbitrary files on the system. This publication previously reported on supply chain risks, such as the Wazuh vulnerability detailed on 2026-10-13.
In plain English
The vulnerability arises when applications using GitPython clone a repository and check out its active branch. Attackers can host a malicious repository with a default branch name that looks like a command option. Specifically, naming a branch "--pathspec-from-file=<path>" tricks the library into treating the name as a git argument. This causes the application to read the specified file and leak its contents through GitCommandError messages. The issue is classified under CWE-88, which covers improper neutralization of arguments.
The background
The National Vulnerability Database record identifies the affected component as gitpython-developers GitPython. The description specifies that the flaw allows remote attackers to read arbitrary files. This occurs because the branch name is parsed as a git option rather than a simple string. The mechanism relies on the application automatically checking out the default branch after cloning. If the branch name contains the injection payload, the local system exposes file contents to the attacker.
What changes now
Organizations should immediately inventory applications using GitPython to determine if they run versions before 3.2.0. The source material does not confirm whether a patch or update has been released yet. Until a fix is confirmed, teams must evaluate the risk of cloning untrusted repositories. Applications that automatically check out branches from external sources are most at risk. Security operations should monitor for unusual GitCommandError messages that might indicate exploitation attempts.
Who needs to act first
Teams usually prioritize systems that interact with untrusted external repositories. Check whether your applications automatically clone and check out branches from user-supplied URLs. If so, these systems face the highest exposure. Begin by isolating these environments from production networks to limit potential data leakage. Test any potential mitigations in a staging area before wider deployment. Back up critical configuration files and logs to ensure you can restore state if exploitation occurs. Reduce exposure by restricting which repositories your applications can access.
Background: Supply chain attacks
Supply chain attacks compromise trusted software or hardware before it reaches you. Attackers inject malicious code into updates or dependencies, allowing them to enter your network through legitimate channels. You must verify digital signatures and limit privileges to stop this silent infiltration.
Read the full guide: Supply Chain Attacks: How Compromised Dependencies Breach Your Network
What to do and how to stay safe: GitPython
- Audit all Python projects using GitPython to identify versions prior to 3.2.0 and remove them if possible.
- Monitor application logs for GitCommandError messages containing unexpected file paths or sensitive data.
- Restrict cloning operations to trusted, internal repositories until a vendor update is confirmed.
- Review access controls to ensure that even if files are read, the exposure is limited to non-sensitive data.
Step-by-step guide: 7 Configuration Errors That Expose Systems to Zero-Day Exploits
General security guidance from the Vuln Post newsroom. It is not confirmed advice from the organisations named in this story.
Frequently asked questions
What is the CVSS score for CVE-2026-110859?
The National Vulnerability Database rates the vulnerability as high severity with a CVSS score of 8.7.
Which versions of GitPython are affected?
All versions of GitPython before 3.2.0 are affected by this argument injection vulnerability.
How do attackers exploit this flaw?
Attackers host a repository with a default branch named "--pathspec-from-file=<path>" to read arbitrary files.



