Description
GitPython before 3.1.55 fails to disable environment variable expansion in Remote.create() and Submodule.add() URL handling, allowing attackers to exfiltrate secrets by supplying URLs containing variable references. Attackers can craft URLs with environment variable tokens that are expanded into .git/config and .gitmodules, then transmitted to attacker-controlled hosts during fetch or pull operations.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gitpython-developers | GitPython | < 3.1.55 | 3.1.55 |
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.55 | 3.1.55 | GHSA-94p4-4cq8-9g67 |
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-94p4-4cq8-9g67) vendor-advisory
- Patch Commit patch
- VulnCheck Advisory: GitPython before 3.1.55 Environment Variable Exfiltration via Remote.add() third-party-advisory