Description
GitPython is a python library used to interact with Git repositories. Prior to 3.2.1, create_submodule() in git/objects/submodule/base.py accepts an attacker-influenced submodule path such as .git/hooks and invokes _clone_repo() before safely rejecting the destination. In 3.1.x, _validate_repo_path() does not exist and the call succeeds silently, while in 3.2.0 and later affected revisions the check in git/index/base.py raises ValueError only after the clone has written to disk and does not remove the planted file. An attacker-controlled submodule can therefore place an executable post-checkout hook that a later Git operation executes. Exploitation requires an application to accept an untrusted submodule path and a clone destination such as .git/hooks that is empty enough for Git to clone into it, which commonly means that default sample hooks are absent. This issue is fixed in version 3.2.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gitpython-developers | GitPython | < 3.2.1 | — |
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.2.1-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 Capsule 6 | openvox-agent | 8.31.1-1.el9sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | openvox-server | 8.17.0-1.el9sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-brotli +1 | 1.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-django +1 | 4.2.30-2.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-gitpython +1 | 3.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-pillow +1 | 13.0.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-pyyaml +1 | 6.0.1-1.el8pc | RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-urllib3 +1 | 2.8.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python3.12-brotli | 1.2.1-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite Capsule 6 | python3.12-django | 4.2.30-3.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite Capsule 6 | python3.12-gitpython | 3.2.1-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite Capsule 6 | python3.12-pillow | 13.0.0-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite Capsule 6 | python3.12-pulp-ansible | 1:0.28.10-1.el9pc | RHSA-2026:92861 |
| Red Hat Satellite Capsule 6 | python3.12-urllib3 | 2.8.0-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite 6 | openvox-agent | 8.31.1-1.el9sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | openvox-server | 8.17.0-1.el9sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-brotli +1 | 1.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-django +1 | 4.2.30-2.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-gitpython +1 | 3.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-pillow +1 | 13.0.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-pyyaml +1 | 6.0.1-1.el8pc | RHSA-2026:95655 |
| Red Hat Satellite 6 | python-urllib3 +1 | 2.8.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python3.12-brotli | 1.2.1-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite 6 | python3.12-django | 4.2.30-3.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite 6 | python3.12-gitpython | 3.2.1-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite 6 | python3.12-pillow | 13.0.0-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite 6 | python3.12-pulp-ansible | 1:0.28.10-1.el9pc | RHSA-2026:92861 |
| Red Hat Satellite 6 | python3.12-urllib3 | 2.8.0-1.el9pc | RHSA-2026:95657, RHSA-2026:92861 |
| Red Hat Satellite 6 | yggdrasil-worker-forwarder | 0.1.1-1.el9sat | RHSA-2026:92861 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-GitPython | 3.2.1-1.1 | openSUSE-SU-2026:12391-1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | gitpython | < 3.2.1 | 3.2.1 | GHSA-83vg-56qc-22m7 |
Advisories 5
- RHSA-2026:95656 Red Hat Security Advisory: Satellite 6.17 security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2026:95655 Red Hat Security Advisory: Satellite 6.16 EUS security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2026:95657 Red Hat Security Advisory: Satellite 6.18 security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2026:92861 Red Hat Security Advisory: Satellite 6.19 security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- openSUSE-SU-2026:12391-1 python313-GitPython-3.2.1-1.1 on GA media SUSE / openSUSE Security Updates · Nov 3, 2026
References
- https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-83vg-56qc-22m7
- https://github.com/gitpython-developers/GitPython/pull/2264
- https://github.com/gitpython-developers/GitPython/commit/97eadb888d2f99567e3113f4e455be4ca128f697
- https://github.com/gitpython-developers/GitPython/releases/tag/3.2.1