CVE-2026-110860
GitPython 3.1.62 before 3.2.0 Symlink Path Traversal via Submodule.move()
Published Oct 14, 2026 · updated Oct 14, 2026 · gitpython-developers GitPython
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 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.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 14, 2026 · NIST NVD
Detected
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 a symlink such as vendor pointing outside the worktree, so an application moving an initialized submodule beneath it relocates the checkout externally and corrupts
Affected
- vendor gitpython-developers GitPythonversion unspecified
Sources
- CVE.orgVulnerability recordCVE-2026-110860
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 a symlink such as vendor pointing outside t
cve.org - FIRST EPSSExploitation probabilityCVE-2026-110860
30-day exploitation probability 0.1%
first.org - NIST NVDVulnerability recordCVE-2026-110860
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 a symlink such as vendor pointing outside t
nvd.nist.gov