Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade GitPython to version 3.2.0 or higher.
GitPython is a python library used to interact with Git repositories
Affected versions of this package are vulnerable to Symlink Attack via Submodule.move() in git/objects/submodule/base.py, which validates the destination path only lexically using abspath(), commonpath(), and relpath(), without resolving or rejecting symbolic links in intermediate path components. An untrusted repository can commit a mode-120000 symlink (e.g., vendor -> ../outside) so that when an application calls submodule.move("vendor/module") with a fixed destination, the operating system resolves vendor through the attacker-committed symlink, relocating the submodule checkout to an external directory, rewriting .gitmodules and the index to the symlinked path, and leaving the index unable to produce a tree.
Note: This is only exploitable on systems where Git materializes tracked symlinks as real filesystem symlinks; on Windows this generally requires core.symlinks=true with Developer Mode or sufficient privilege, and the application must explicitly call Submodule.move() with a path beneath the attacker-committed symlink.