p PatchFirst

CVE-2026-76220

CVE-2026-76220 · GitPython before 3.1.58 Command Execution via split_single_char_options

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

GitPython before 3.1.58 contains a command execution vulnerability in the check_unsafe_options guard that can be bypassed by combining a single-character kwarg with split_single_char_options=False. Attackers can supply a crafted kwargs dictionary to guarded methods like clone_from to emit a joined token parsed as --upload-pack, enabling arbitrary OS command execution at default allow_unsafe_options=False.

CVSS 8.7 · High · EPSS 0.9% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • gitpython

    Versions
    • ≥ 0, < 3.1.58: Affected (semver)
    • 3.1.58: Not affected (semver)

    Update to 3.1.58

  • 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
    • 3.1.50-1
    Affected ranges
    • ECOSYSTEM: < 3.1.61-1

    Update to 3.1.61-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.47
    • 3.1.48
    • 3.1.49
    • 3.1.5
    • 3.1.50
    • 3.1.51
    • 3.1.52
    • 3.1.53
    • 3.1.54
    • 3.1.55
    • 3.1.56
    • 3.1.57
    • 3.1.6
    • 3.1.7
    • 3.1.8
    • 3.1.9
    Affected ranges
    • ECOSYSTEM: < 3.1.58

    Update to 3.1.58

  • python-git Ubuntu:Pro:14.04:LTS

    Versions
    • 0.3.2~RC1-2
    • 0.3.2~RC1-3
    • 0.3.2~RC1-3ubuntu0.1~esm1
    • 0.3.2~RC1-3ubuntu0.1~esm2
    • 0.3.2~RC1-3ubuntu0.1~esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Ubuntu:Pro:16.04:LTS

    Versions
    • 1.0.1+git137-gc8b8379-1
    • 1.0.1+git137-gc8b8379-2
    • 1.0.1+git137-gc8b8379-2.1
    • 1.0.1+git137-gc8b8379-2.1ubuntu0.1~esm1
    • 1.0.1+git137-gc8b8379-2.1ubuntu0.1~esm2
    • 1.0.1+git137-gc8b8379-2.1ubuntu0.1~esm4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Ubuntu:Pro:18.04:LTS

    Versions
    • 2.1.5-1
    • 2.1.6-1
    • 2.1.7-1
    • 2.1.8-1
    • 2.1.8-1ubuntu0.1~esm1
    • 2.1.8-1ubuntu0.1~esm2
    • 2.1.8-1ubuntu0.1~esm4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • 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
    • 3.0.7-1ubuntu0.1~esm4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • 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
    • 3.1.24-1ubuntu0.1~esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-git Ubuntu:Pro:24.04:LTS

    Versions
    • 3.1.30-1
    • 3.1.37-1
    • 3.1.37-3
    • 3.1.37-3ubuntu0.1~esm2
    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
    • 3.1.46-1ubuntu0.1~esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →