CVE-2026-42284 GitPython: Unsafe option check validates multi_options before shlex.split transforms it

High 8.1 Published Updated

Attackers can execute arbitrary code during Git clone operations by bypassing option validation in GitPython, allowing malicious hooks to run.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-42284?

CVE-2026-42284 is a high-severity command injection vulnerability in gitpython-developers GitPython, published on 7 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-88

Which versions are affected by CVE-2026-42284?

3 open source packages ship an affected version, including gitpython and GitPython. It affects 1 product.

PackageAffectedFixed in
gitpython PyPIAll versions3.1.47
gitpython PyPIAll versions3.1.47
GitPython PyPIAll versions3.1.47

Products include Gitpython Project Gitpython.

How do I fix CVE-2026-42284?

Upgrade gitpython to 3.1.47 or later.

Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.

Is CVE-2026-42284 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-42284 exists.

Sources

Also known as DEBIAN-CVE-2026-42284, ECHO-ccb7-6d4f-be3e, GHSA-x2qx-6953-8485, MINI-242j-jwxh-4f7q, MINI-f45q-qwvr-xcrv, PYSEC-2026-2161 and 2 more.

Is CVE-2026-42284 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free