p PatchFirst

CVE-2026-42284

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

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 8.1 · High · EPSS 0.7% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • gitpython

    Versions
    • < 3.1.47: Affected

    No fix published

  • python-git Debian:12

    Versions
    • 3.1.30-1
    • 3.1.30-1+deb12u2
    • 3.1.36-1
    • 3.1.37-1
    • 3.1.37-2
    • 3.1.37-3
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    • 3.1.62-1
    • 3.1.62-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Debian:13

    Versions
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    • 3.1.62-1
    • 3.1.62-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Debian:14

    Versions
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    Affected ranges
    • ECOSYSTEM: < 3.1.50-1

    Update to 3.1.50-1

  • gitpython PyPI

    Versions
    • 0.1.7
    • 0.2.0-beta1
    • 0.3.0-beta1
    • 0.3.0-beta2
    • 0.3.1-beta2
    • 0.3.2
    • 0.3.2.1
    • 0.3.2.RC1
    • 0.3.3
    • 0.3.4
    • 0.3.5
    • 0.3.6
    • 0.3.7
    • 1.0.0
    • 1.0.1
    • 1.0.2
    • 2.0.0
    • 2.0.1
    • 2.0.2
    • 2.0.3
    • 2.0.4
    • 2.0.5
    • 2.0.6
    • 2.0.7
    • 2.0.8
    • 2.0.9
    • 2.0.9.dev0
    • 2.0.9.dev1
    • 2.1.0
    • 2.1.1
    • 2.1.10
    • 2.1.11
    • 2.1.12
    • 2.1.13
    • 2.1.14
    • 2.1.15
    • 2.1.2
    • 2.1.3
    • 2.1.4
    • 2.1.5
    • 2.1.6
    • 2.1.7
    • 2.1.8
    • 2.1.9
    • 3.0.0
    • 3.0.1
    • 3.0.2
    • 3.0.3
    • 3.0.4
    • 3.0.5
    • 3.0.6
    • 3.0.7
    • 3.0.8
    • 3.0.9
    • 3.1.0
    • 3.1.1
    • 3.1.10
    • 3.1.11
    • 3.1.12
    • 3.1.13
    • 3.1.14
    • 3.1.15
    • 3.1.16
    • 3.1.17
    • 3.1.18
    • 3.1.19
    • 3.1.2
    • 3.1.20
    • 3.1.22
    • 3.1.23
    • 3.1.24
    • 3.1.25
    • 3.1.26
    • 3.1.27
    • 3.1.28
    • 3.1.29
    • 3.1.3
    • 3.1.30
    • 3.1.31
    • 3.1.32
    • 3.1.33
    • 3.1.34
    • 3.1.35
    • 3.1.36
    • 3.1.37
    • 3.1.38
    • 3.1.4
    • 3.1.40
    • 3.1.41
    • 3.1.42
    • 3.1.43
    • 3.1.44
    • 3.1.45
    • 3.1.46
    • 3.1.5
    • 3.1.6
    • 3.1.7
    • 3.1.8
    • 3.1.9
    Affected ranges
    • ECOSYSTEM: < 3.1.47

    Update to 3.1.47

  • python-git Ubuntu:Pro:20.04:LTS

    Versions
    • 2.1.11-1
    • 3.0.4-1
    • 3.0.5-1
    • 3.0.7-1
    • 3.0.7-1ubuntu0.1~esm1
    • 3.0.7-1ubuntu0.1~esm2
    Affected ranges
    • ECOSYSTEM: < 3.0.7-1ubuntu0.1~esm4

    Update to 3.0.7-1ubuntu0.1~esm4

  • python-git Ubuntu:Pro:22.04:LTS

    Versions
    • 3.1.14-1
    • 3.1.23-1
    • 3.1.24-1
    • 3.1.24-1ubuntu0.1~esm1
    • 3.1.24-1ubuntu0.1~esm2
    Affected ranges
    • ECOSYSTEM: < 3.1.24-1ubuntu0.1~esm3

    Update to 3.1.24-1ubuntu0.1~esm3

  • python-git Ubuntu:Pro:24.04:LTS

    Versions
    • 3.1.30-1
    • 3.1.37-1
    • 3.1.37-3
    Affected ranges
    • ECOSYSTEM: < 3.1.37-3ubuntu0.1~esm2

    Update to 3.1.37-3ubuntu0.1~esm2

  • python-git Ubuntu:25.10

    Versions
    • 3.1.44-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Ubuntu:26.10

    Versions
    • 3.1.46-1
    • 3.1.50-1
    • 3.1.61-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Ubuntu:Pro:26.04:LTS

    Versions
    • 3.1.44-1
    • 3.1.45-1
    • 3.1.46-1
    Affected ranges
    • ECOSYSTEM: < 3.1.46-1ubuntu0.1~esm1

    Update to 3.1.46-1ubuntu0.1~esm1

Original sources

Check your server →