© 2025-2026 PySpect
First version without a known vulnerability: 3.1.58
GitPython: Unsafe git option guard bypass via split_single_char_options=False short-option token smuggling enables command execution
Fixed in: 3.1.58
GitPython: git-config OPTION-name injection via =/#/whitespace bypasses name validator, enabling forged core.sshCommand/hooksPath (RCE)
Fixed in: 3.1.58
GitPython: Arbitrary Git Repository Creation Outside the Working Tree via Unvalidated .gitmodules Submodule Name in GitPython
Fixed in: 3.1.58
GitPython: Arbitrary file read via --pathspec-from-file in IndexFile.remove() and Head.checkout()
Fixed in: 3.1.58
GitPython: Unguarded git option forwarding in Repo.init enables arbitrary command execution via --template clone hooks
Fixed in: 3.1.58
GitPython: Unguarded git read-tree option forwarding in IndexFile.from_tree/reset/merge_tree enables arbitrary file overwrite
Fixed in: 3.1.58
GitPython: Arbitrary file truncation via git rev-list --output argument injection in unguarded Commit.count
Fixed in: 3.1.56
GitPython: Incomplete unsafe_git_archive_options denylist omits --add-file / --add-virtual-file, enabling arbitrary file read via Repo.archive()
Fixed in: 3.1.57
GitPython: Unguarded git option forwarding in IndexFile.checkout() and TagReference.create() enables arbitrary file overwrite and arbitrary file read
Fixed in: 3.1.57
GitPython: Environment-variable exfiltration via Repo.create_remote() / Remote.add() URL (incomplete fix of GHSA-rwj8-pgh3-r573)
Fixed in: 3.1.55
GitPython: Unsafe git option guard bypass via single-character kwarg value token smuggling enables arbitrary command execution
Fixed in: 3.1.54
GitPython: Incomplete unsafe_git_clone_options denylist omits --template enabling arbitrary command execution via clone hooks
Fixed in: 3.1.54
GitPython: Arbitrary file overwrite via git diff --output argument injection in Diffable.diff (key- and value-controlled)
Fixed in: 3.1.54
GitPython: git-config section-name injection enables arbitrary config directives (core.sshCommand RCE)
Fixed in: 3.1.53
GitPython: Environment-variable exfiltration via os.path.expandvars() on Repo.clone_from() URL
Fixed in: 3.1.52
GitPython: command injection via unguarded Git options in `Repo.archive()`, `git.ls_remote()`, and arbitrary file overwrite via `Repo.iter_commits()` / `Repo.blame()`
Fixed in: 3.1.51
GitPython: Command Injection via git long-option prefix abbreviation bypass of CVE-2026-42215 blocklist
Fixed in: 3.1.51
GitPython unsafe clone option gate bypass through joined short options
Fixed in: 3.1.51
GitPython: Newline injection in config_writer() section parameter bypasses CVE-2026-42215 patch, enabling RCE via core.hooksPath
Fixed in: 3.1.50
GitPython: Newline injection in config_writer().set_value() enables RCE via core.hooksPath
Fixed in: 3.1.49
GitPython reference APIs has a path traversal vulnerability that allows arbitrary file write and delete outside the repository
Fixed in: 3.1.48
GitPython has Command Injection via Git options bypass
Fixed in: 3.1.47
GitPython: Unsafe option check validates multi_options before shlex.split transformation
Fixed in: 3.1.47
Untrusted search path under some conditions on Windows allows arbitrary code execution
Fixed in: 3.1.41, ef3192cc414f2fd9978908454f6fd95243784c7f
GitPython blind local file inclusion
Fixed in: 3.1.37, 3.1.35
GitPython untrusted search path on Windows systems leading to arbitrary code execution
Fixed in: 3.1.33
GitPython vulnerable to remote code execution due to insufficient sanitization of input arguments
Fixed in: 3.1.32, ca965ecc81853bca7675261729143f54e5bf4cdd
GitPython vulnerable to Remote Code Execution due to improper user input validation
Fixed in: 3.1.30