VDB
Sign up
CRITICAL9.8

PYSEC-2026-2161

Quick fix

PYSEC-2026-2161 — gitpython: upgrade to the fixed version with the command below.

pip install --upgrade 'gitpython>=3.1.47'

Details

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI/gitpython
Introduced in: 0Fixed in: 3.1.47
Fixpip install --upgrade 'gitpython>=3.1.47'

References