CVE-2026-78677 GitPython before 3.1.59 Path Traversal via separate-git-dir
Attackers can exploit GitPython to create arbitrary directories outside the intended path, potentially enabling hook execution and code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-78677?
CVE-2026-78677 is a high-severity path traversal vulnerability in gitpython-developers GitPython, published on 25 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
GitPython before 3.1.59 omits --separate-git-dir from unsafe_git_clone_options, allowing attackers to create arbitrary git directories outside the intended clone destination. Attackers can pass a separate_git_dir parameter to Repo.clone_from() or Repo.clone() to redirect repository metadata to an attacker-controlled filesystem path, enabling arbitrary directory creation and potential hook execution.
Weakness: CWE-22
Which versions are affected by CVE-2026-78677?
3 open source packages ship an affected version, including gitpython and GitPython. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
gitpython PyPI | All versions | 3.1.59 |
gitpython PyPI | All versions | 3.1.59 |
GitPython PyPI | All versions | 3.1.59 |
Products include Gitpython Project Gitpython.
How do I fix CVE-2026-78677?
Upgrade gitpython to 3.1.59 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-78677 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-78677 exists.
Other vulnerabilities in gitpython-developers GitPython
- CVE-2023-40267 GitPython vulnerable to remote code execution due to insufficient sanitization of input arguments
- CVE-2026-78676 GitPython before 3.1.59 Remote Code Execution via Config Injection
- CVE-2026-67324 GitPython 3.1.50 Authentication Bypass via Joined Short Options
- CVE-2026-42215 GitPython: Command injection via Git options bypass
- CVE-2026-87817 GitPython before 3.1.60 Remote Code Execution via Git Directory Impersonation
Sources
Also known as DEBIAN-CVE-2026-78677, ECHO-ed72-7ed5-2b4c, GHSA-8mcc-hrx5-hvxc, MINI-prpc-vph8-v6pw, MINI-qxf7-hg33-vvhq, MINI-w7vm-8pwx-x6gg and 3 more.