GitPython: Submodule.move() follows an attacker-committed intermediate symlink outside the worktree
影響: pip:GitPython < 3.2.0 → 3.2.0
GitPython's public Submodule.move() API verifies that its destination is lexically inside the parent repository, but it does not reject symbolic links in the destination's intermediate components before filesystem operations. On systems that check out Git symlinks, an untrusted repository can therefore redirect a fixed, application-selected move destination outside the parent worktree. The reporter reproduced this on the latest release, GitPython 3.1.62, and current main. In the strict scenario…
Read on GitHub Advisory Database
| Source | GitHub Advisory Database |
|---|---|
| Fetched | 10/28/2026, 06:03 AM |
| Data | Markdown JSON |
On 10/28/2026, 12:26 AM, GitHub Advisory Database published "GitPython: Submodule.move() follows an attacker-committed intermediate symlink outside the worktree" (type: Advisory). Severity is "Medium" (medium). Related technologies: Python.