CVE-2026-110858
8.1HighPublished 14 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
- Impact
- Full C/I/A compromise
- Weakness
- CWE-88
Impact
Attackers who can influence the refspec passed to GitPython's Remote.pull() can execute arbitrary OS commands as the running process. Exploitation requires sending malicious flags like --upload-pack to applications using local or SSH transports.
Root cause
The Remote.pull() method only checks keyword arguments for unsafe command-line options, leaving positional refspec arguments unvalidated and vulnerable to argument injection.
Affected systems
GitPython 3.1.30 before 3.2.0
CVSS v3.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Fix & remediation
Upgrade GitPython to version 3.2.0 or later. If upgrading immediately is not possible, sanitize untrusted refspec inputs to reject arguments starting with dashes (such as '--upload-pack').
$ pip install --upgrade 'gitpython>=3.2.0'AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
GitPython from 3.1.30 before 3.2.0 contains a remote code execution vulnerability in Remote.pull() whose unsafe-option guard inspects only keyword arguments, not the positional refspec. Attackers controlling the refspec can supply --upload-pack=<command> to execute OS commands as the calling process over local-path or SSH transports.