Critical severity · published May 7, 2026
CVE-2026-42284
GitPython: Unsafe option check validates multi_options before shlex.split transforms it
9.8
CVSS
0.6%
EPSS
No
On KEV
Description
GitPython is a python library used to interact with Git repositories. Prior to version 3.1.47, _clone() validates multi_options as the original list, then executes shlex.split(" ".join(multi_options)). A string like "--branch main --config core.hooksPath=/x" passes validation (starts with --branch), but after split becomes ["--branch", "main", "--config", "core.hooksPath=/x"]. Git applies the config and executes attacker hooks during clone. This issue has been patched in version 3.1.47.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.6% · higher than 47% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
GI
GitPython · gitpython-developers
< 3.1.47 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-42284
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-42284
Patch
https://github.com/gitpython-developers/GitPython/releases/tag/3.1.47
Exploit
https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-x2qx-6953-8485
www.tenable.com
https://www.tenable.com/cve/CVE-2026-32686
More from GitPython
9.8
CVE-2026-78676
GitPython before 3.1.59 Remote Code Execution via Config Injection
9.8
CVE-2026-67324
GitPython 3.1.50 Authentication Bypass via Joined Short Options
8.8
CVE-2026-87817
GitPython before 3.1.60 Remote Code Execution via Git Directory Impersonation
8.8
CVE-2026-76221
GitPython before 3.1.58 Config Injection via option-name
8.8
CVE-2026-76220
GitPython before 3.1.58 Command Execution via split_single_char_options
