CVE-2026-42284 HIGH

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

Vendor Gitpython-Developers
Product GitPython
Weakness CWE-88
Published May 7, 2026
Last update May 9, 2026

CVSS base score

8.1/10
Attack vector Network
Attack complexity High
Privileges required None
User interaction None
Confidentiality High
Integrity High

CVSS vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

What the vulnerability does

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.

Key dates

Disclosure timeline

May 7, 2026 CVE published
May 9, 2026 Record updated