4 matches found
CVE-2026-73623
GitPython prior to 3.1.54 contains an incomplete denylist in unsafe_git_clone_options that omits --template, enabling attackers to achieve arbitrary command execution during clone operations. By supplying --template pointing to a directory with malicious post-checkout hooks, an attacker could tri...
GHSA-6P8H-3WGX-97GF GitPython: Incomplete unsafe_git_clone_options denylist omits --template enabling arbitrary command execution via clone hooks
Summary GitPython's unsafegitcloneoptions denylist omits --template. git clone --template= copies /hooks/ into the new repository and runs them post-checkout fires during clone, so a caller who can influence clone options can achieve arbitrary command execution in the default...
GHSA-V396-V7Q4-X2QJ GitPython unsafe clone option gate bypass through joined short options
GitPython version 3.1.50 blocks unsafe git clone options such as --upload-pack, -u, --config, and -c unless callers explicitly pass allowunsafeoptions=True. However, the default unsafe-option gate does not recognize joined short-option forms such as -u/path/to/helper. Git itself accepts -u as the...
GitPython: Unsafe option check validates multi_options before shlex.split transformation
Summary clone validates multioptions as the original list, then executes shlex.split" ".joinmultioptions. 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...