Description
GitPython versions before 3.1.54 contain a remote code execution vulnerability in the check_unsafe_options guard that can be bypassed by smuggling git options inside single-character kwarg values. Attackers can supply crafted option dictionaries to clone_from, fetch, pull, push, ls_remote, iter_commits, blame, or archive methods to execute arbitrary OS commands via the --upload-pack parameter.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gitpython-developers | GitPython | < 3.1.54 | 3.1.54 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | python-git | 3.1.61-1 | — |
| Debian 13 | python-git | 3.1.44-1+deb13u1 | — |
| Debian 12 | python-git | 3.1.30-1+deb12u3 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | python-git | No fix yet | — |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 26.04 LTS | python-git | No fix yet | — |
| Ubuntu Pro 24.04 LTS | python-git | No fix yet | — |
| Ubuntu Pro 22.04 LTS | python-git | No fix yet | — |
| Ubuntu Pro 20.04 LTS | python-git | No fix yet | — |
| Ubuntu Pro 18.04 LTS | python-git | No fix yet | — |
| Ubuntu Pro 16.04 LTS | python-git | No fix yet | — |
| Ubuntu Pro 14.04 LTS | python-git | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Satellite Utils 6 | foreman +1 | 3.12.0.23-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Utils 6 | rubygem-hammer_cli | 3.12.0-2.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Utils 6 | rubygem-jwt | 2.10.3-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite Utils 6 | satellite +1 | 6.16.14-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Maintenance 6 | ansible-core | 1:2.16.19-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite Capsule 6 | ansible-core +1 | 1:2.16.19-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite Capsule 6 | foreman +2 | 3.12.0.23-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Capsule 6 | openvox-server | 8.15.2-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite Capsule 6 | python-dynaconf +1 | 3.2.13-1.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Capsule 6 | python-gitpython +1 | 3.1.62-1.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Capsule 6 | python-lxml +1 | 4.9.2-5.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Capsule 6 | python-pulpcore +1 | 3.49.39-4.el8pc | RHSA-2026:74506 |
| Red Hat Satellite Capsule 6 | python-sqlparse +1 | 0.6.0-1.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Capsule 6 | python3.12-aiohttp | 3.14.3-1.el9pc | RHSA-2026:63385 |
| Red Hat Satellite Capsule 6 | python3.12-gitpython | 3.1.59-1.el9pc | RHSA-2026:63385 |
| Red Hat Satellite Capsule 6 | rubygem-jwt | 2.10.3-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite Capsule 6 | satellite +2 | 6.16.14-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite Capsule 6 | satellite-obsolete-packages | 6.17.12-1.el9sat | RHSA-2026:74505 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Satellite 6 | ansible-core +1 | 1:2.16.19-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite 6 | foreman +14 | 3.12.0.23-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | openvox-server | 8.15.2-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite 6 | python-dynaconf +1 | 3.2.13-1.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | python-gitpython +1 | 3.1.62-1.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | python-lxml +1 | 4.9.2-5.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | python-pulpcore +1 | 3.49.39-4.el8pc | RHSA-2026:74506 |
| Red Hat Satellite 6 | python-sqlparse +1 | 0.6.0-1.el8pc | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | python3.12-aiohttp | 3.14.3-1.el9pc | RHSA-2026:63385 |
| Red Hat Satellite 6 | python3.12-gitpython | 3.1.59-1.el9pc | RHSA-2026:63385 |
| Red Hat Satellite 6 | rubygem-foreman_remote_execution +1 | 13.2.8-2.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | rubygem-hammer_cli | 3.12.0-2.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | rubygem-jwt | 2.10.3-1.el9sat | RHSA-2026:63385 |
| Red Hat Satellite 6 | rubygem-katello | 4.14.0.23-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | rubygem-safemode | 1.5.0-2.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | satellite +2 | 6.16.14-1.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
| Red Hat Satellite 6 | satellite-obsolete-packages | 6.17.12-1.el9sat | RHSA-2026:74505 |
| Red Hat Satellite 6 | yggdrasil-worker-forwarder | 0.1.0-2.el8sat | RHSA-2026:74506, RHSA-2026:74505 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP6 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLES 15 SP5 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLES 15 SP4 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLES 3 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP6 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLES for SAP 15 SP5 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLES for SAP 15 SP4 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLE HPC 15 SP5 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
| SLE HPC 15 SP4 | python-GitPython | 3.1.34.1693646983.2a2ae77-150400.9.8.1 | SUSE-SU-2026:4072-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | python-GitPython | 3.1.44-160000.4.1 | openSUSE-SU-2026:21874-1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | gitpython | < 3.1.54 | 3.1.54 | GHSA-r9mr-m37c-5fr3 |
Advisories 5
- RHSA-2026:74506 Red Hat Security Advisory: Satellite 6.16.14 Async Update Red Hat Security Advisories (RHSA) · Oct 20, 2026
- RHSA-2026:74505 Red Hat Security Advisory: Satellite 6.17.12 Async Update Red Hat Security Advisories (RHSA) · Oct 20, 2026
- RHSA-2026:63385 Red Hat Security Advisory: Satellite 6.19.4 Async Update Red Hat Security Advisories (RHSA) · Oct 20, 2026
- openSUSE-SU-2026:21874-1 Security update for python-GitPython SUSE / openSUSE Security Updates · Sep 25, 2026
- SUSE-SU-2026:4072-1 Security update for python-GitPython SUSE / openSUSE Security Updates · Sep 13, 2026
References
- GitHub Security Advisory (GHSA-r9mr-m37c-5fr3) vendor-advisory
- VulnCheck Advisory: GitPython before 3.1.54 Remote Code Execution via kwarg value smuggling third-party-advisory