{"id":"CVE-2026-110860","title":"GitPython from 3.1.62 before 3.2.0 contains a symlink-following flaw in Submodule.move(), which checks the destination only lexically and does not reject symbolic links in intermediate path components","summary":"GitPython from 3.1.62 before 3.2.0 contains a symlink-following flaw in Submodule.move(), which checks the destination only lexically and does not reject symbolic links in intermediate path components. An untrusted repository can commit …","severity":"medium","cvss":6.1,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L","cwe":["CWE-59"],"published":"2026-10-14","updated":"2026-10-14","sourceUpdated":"2026-10-14T23:17:27.340","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-110860","references":[{"url":"https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-gq48-pqfc-9p58","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/gitpython-3.1.62-before-3.2.0-symlink-path-traversal-via-submodule-move","label":"disclosure@vulncheck.com"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-110860.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-110860"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2552968"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-110860"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110860"},{"url":"https://github.com/gitpython-developers/GitPython/pull/2232"},{"url":"https://github.com/gitpython-developers/GitPython/commit/24b6f95d4b90ab1483fb601c736ac6e7c059cd61"},{"url":"https://github.com/gitpython-developers/GitPython"},{"url":"https://github.com/gitpython-developers/GitPython/releases/tag/3.2.0"}],"tags":["nvd","cve.org","csaf","vex","red-hat","exploit-available","osv","pip"],"ingestedAt":"2026-10-15T00:02:07.185Z","vendor":"gitpython-developers","product":"GitPython","affected":["GitPython >= 3.1.62 < 3.2.0"],"epss":0.00188,"epssPercentile":0.08297,"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-10-26T15:26:56.118240Z"},"aliases":["GHSA-gq48-pqfc-9p58"],"ecosystem":"pip","patched":["gitpython 3.2.0"],"slug":"CVE-2026-110860","body":"## Overview\n\nGitPython from 3.1.62 before 3.2.0 contains a symlink-following flaw in Submodule.move(), which checks the destination only lexically and does not reject symbolic links in intermediate path components. An untrusted repository can commit a symlink such as vendor pointing outside the worktree, so an application moving an initialized submodule beneath it relocates the checkout externally and corrupts the index and .gitmodules.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Moderate · 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 13 (Queens), … · no fix planned: Exploit Intelligence, Red Hat Ansible Automation Platform 2, Red Hat OpenStack Platform 13 (Queens), Red Hat OpenStack Platform 16.2, … · updated 2026-10-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-110860.json)\n\n## Package advisory (CVE-2026-110860)\n\nAffected packages:\n\n- `gitpython < 3.2.0`\n\nPatched in:\n\n- `gitpython 3.2.0`\n\nSource: https://osv.dev/vulnerability/GHSA-gq48-pqfc-9p58","depth":"twilight","depthScore":46,"depthScoreParts":{"impact":33.6,"likelihood":0,"exploitation":12,"ransomware":0},"changes":[{"seq":229660,"id":"CVE-2026-110860","ts":1793032394803,"field":"exploit_available","old":"false","new":"true"}]}