CVE-2026-110860: GitPython 3.1.62 before 3.2.0 Symlink Path Traversal via Submodule.move()

Published Oct 14, 2026
·
Updated

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.

Affected Software

1 affected component
pypi/GitPython>=3.1.62<3.2.0

Event History

Oct 14, 2026
CVE Published
via MITRE·10:52 PM
Data Sourced
via MITRE·10:52 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Applications using GitPython versions from 3.1.62 before 3.2.0 are exposed when they operate on an untrusted repository and move an initialized submodule to a destination whose path includes attacker-controlled symbolic links.

2

What does an attacker need to exploit it?

An attacker needs to provide a repository containing a symbolic link in an intermediate destination-path component, such as a vendor link pointing outside the worktree, and induce the application to call Submodule.move() beneath that path. User interaction is required according to the supplied severity vector.

3

What is the impact of a successful exploit?

The submodule checkout can be relocated outside the worktree. The operation can also corrupt the repository index and .gitmodules.

4

What can be done if upgrading is not immediately possible?

Do not run Submodule.move() on repositories or destination paths that are untrusted. In particular, inspect and reject symbolic links in every intermediate component of the intended destination path before moving a submodule.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203