{"id":"CVE-2026-78677","title":"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","summary":"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_…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cwe":["CWE-22","CWE-73"],"vendor":"gitpython_project","product":"gitpython","affected":["gitpython < 3.1.59"],"patched":["gitpython 3.1.59"],"published":"2026-08-25","updated":"2026-10-12","sourceUpdated":"2026-10-12T15:10:00.207","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-78677","references":[{"url":"https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-8mcc-hrx5-hvxc","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/gitpython-before-path-traversal-via-separate-git-dir","label":"disclosure@vulncheck.com"},{"url":"https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-8mcc-hrx5-hvxc","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-78677.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-78677"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2523215"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-78677"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-78677"},{"url":"https://access.redhat.com/errata/RHSA-2026:79376"},{"url":"https://access.redhat.com/errata/RHSA-2026:79380"},{"url":"https://access.redhat.com/errata/RHSA-2026:79372"},{"url":"https://access.redhat.com/errata/RHSA-2026:79373"},{"url":"https://github.com/gitpython-developers/GitPython/pull/2210"},{"url":"https://github.com/gitpython-developers/GitPython/commit/b68afff45af0f49e79a3e2d2162018986b37ad5d"},{"url":"https://github.com/gitpython-developers/GitPython"},{"url":"https://github.com/gitpython-developers/GitPython/releases/tag/3.1.59"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2026-3787.yaml"},{"url":"https://github.com/advisories/GHSA-8mcc-hrx5-hvxc"},{"url":"https://access.redhat.com/errata/RHSA-2026:59135"},{"url":"https://access.redhat.com/errata/RHSA-2026:59136"},{"url":"https://access.redhat.com/errata/RHSA-2026:84734"}],"tags":["nvd","csaf","vex","red-hat","cve.org","exploit-available","osv","pip","ghsa"],"epss":0.00651,"epssPercentile":0.51003,"aliases":["GHSA-8mcc-hrx5-hvxc","PYSEC-2026-3787"],"ecosystem":"pip","exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"partial","timestamp":"2026-08-25T15:24:35.538595Z"},"ingestedAt":"2026-09-03T19:32:11.796Z","slug":"CVE-2026-78677","body":"## Overview\n\nGitPython 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.\n\n## Affected\n\n- `gitpython < 3.1.59`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `gitpython 3.1.59`\n\n## Package advisory (CVE-2026-78677)\n\nAffected packages:\n\n- `gitpython < 3.1.59`\n\nPatched in:\n\n- `gitpython 3.1.59`\n\nSource: https://osv.dev/vulnerability/GHSA-8mcc-hrx5-hvxc\n\n## Vendor advisories\n\n- **RHSA-2026:79376** · Red Hat · fixed in: Red Hat Satellite 6.18 · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:79376)\n- **RHSA-2026:79380** · Red Hat · fixed in: Red Hat Satellite 6.18 · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:79380)\n- **RHSA-2026:79372** · Red Hat · fixed in: Red Hat Satellite 6.19 · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:79372)\n- **RHSA-2026:79373** · Red Hat · fixed in: Red Hat Satellite 6.19 · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:79373)\n- **Red Hat VEX** · Important · affected: Exploit Intelligence, Red Hat AI Inference Server, Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux AI (RHEL AI) 3, Red Hat OpenShift AI (RHOAI), Red Hat OpenStack Platform 16.2, … · no fix planned: Red Hat AI Inference Server, Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux AI (RHEL AI) 3, Exploit Intelligence, … · updated 2026-10-19 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-78677.json)\n- **RHSA-2026:59135** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.5 for RHEL 8, Red Hat Ansible Automation Platform 2.5 for RHEL 9 · released 2026-08-24 · [advisory](https://access.redhat.com/errata/RHSA-2026:59135)\n- **RHSA-2026:59136** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.6 for RHEL 9 · released 2026-08-24 · [advisory](https://access.redhat.com/errata/RHSA-2026:59136)\n- **RHSA-2026:84734** · Red Hat · fixed in: Red Hat OpenShift AI 3.4 · released 2026-10-19 · [advisory](https://access.redhat.com/errata/RHSA-2026:84734)","depth":"midnight","depthScore":53,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":218197,"id":"CVE-2026-78677","ts":1791478554107,"field":"exploit_available","old":"false","new":"true"},{"seq":8215,"id":"CVE-2026-78677","ts":1788919993249,"field":"cvss","old":null,"new":"7.5"},{"seq":8214,"id":"CVE-2026-78677","ts":1788919993249,"field":"severity","old":"none","new":"high"},{"seq":8024,"id":"CVE-2026-78677","ts":1788919280603,"field":"cvss","old":"7.5","new":null},{"seq":8023,"id":"CVE-2026-78677","ts":1788919280603,"field":"severity","old":"high","new":"none"},{"seq":7833,"id":"CVE-2026-78677","ts":1788916353752,"field":"cvss","old":null,"new":"7.5"},{"seq":7832,"id":"CVE-2026-78677","ts":1788916353752,"field":"severity","old":"none","new":"high"},{"seq":7642,"id":"CVE-2026-78677","ts":1788915297307,"field":"cvss","old":"7.5","new":null},{"seq":7641,"id":"CVE-2026-78677","ts":1788915297307,"field":"severity","old":"high","new":"none"},{"seq":7451,"id":"CVE-2026-78677","ts":1788912713337,"field":"cvss","old":null,"new":"7.5"},{"seq":7450,"id":"CVE-2026-78677","ts":1788912713337,"field":"severity","old":"none","new":"high"},{"seq":7260,"id":"CVE-2026-78677","ts":1788911331239,"field":"cvss","old":"7.5","new":null},{"seq":7259,"id":"CVE-2026-78677","ts":1788911331239,"field":"severity","old":"high","new":"none"},{"seq":7064,"id":"CVE-2026-78677","ts":1788909076579,"field":"cvss","old":null,"new":"7.5"},{"seq":7063,"id":"CVE-2026-78677","ts":1788909076579,"field":"severity","old":"none","new":"high"},{"seq":6876,"id":"CVE-2026-78677","ts":1788907391350,"field":"cvss","old":"7.5","new":null},{"seq":6875,"id":"CVE-2026-78677","ts":1788907391350,"field":"severity","old":"high","new":"none"},{"seq":6678,"id":"CVE-2026-78677","ts":1788905442908,"field":"cvss","old":null,"new":"7.5"},{"seq":6677,"id":"CVE-2026-78677","ts":1788905442908,"field":"severity","old":"none","new":"high"},{"seq":6496,"id":"CVE-2026-78677","ts":1788903459561,"field":"cvss","old":"7.5","new":null},{"seq":6495,"id":"CVE-2026-78677","ts":1788903459561,"field":"severity","old":"high","new":"none"},{"seq":6286,"id":"CVE-2026-78677","ts":1788901809881,"field":"cvss","old":null,"new":"7.5"},{"seq":6285,"id":"CVE-2026-78677","ts":1788901809881,"field":"severity","old":"none","new":"high"},{"seq":6116,"id":"CVE-2026-78677","ts":1788899561561,"field":"cvss","old":"7.5","new":null},{"seq":6115,"id":"CVE-2026-78677","ts":1788899561561,"field":"severity","old":"high","new":"none"},{"seq":5919,"id":"CVE-2026-78677","ts":1788898179157,"field":"cvss","old":null,"new":"7.5"},{"seq":5918,"id":"CVE-2026-78677","ts":1788898179157,"field":"severity","old":"none","new":"high"},{"seq":5808,"id":"CVE-2026-78677","ts":1788895711042,"field":"cvss","old":"7.5","new":null},{"seq":5807,"id":"CVE-2026-78677","ts":1788895711042,"field":"severity","old":"high","new":"none"},{"seq":5718,"id":"CVE-2026-78677","ts":1788894572462,"field":"cvss","old":null,"new":"7.5"},{"seq":5717,"id":"CVE-2026-78677","ts":1788894572462,"field":"severity","old":"none","new":"high"}]}