NetSight
high8.1

CVE-2026-42284

GitPython: Unsafe option check validates multi_options before shlex.split transformation

Impact

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.

Affected packages

EcosystemPackageAffectedFixed in
pipGitPython< 3.1.473.1.47

Affected products

VendorProductAffected versions
Gitpython ProjectGitpython
before 3.1.47

Weakness classification

References