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 Arbitrary Argument Injection via Head.checkout() in git/refs/head.py, where the branch name passed as a positional argument reaches the git checkout argv without a -- separator and without being inspected by the unsafe-options guard. The guard at line 286 calls Git._option_candidates([], kwargs), checking only keyword arguments, so a branch named --pathspec-from-file=<path> is passed directly to git as an option. An attacker who controls a remote repository's default branch name can cause a consuming application that clones the repository and calls repo.active_branch.checkout() to disclose the full contents of any file readable by the process through the GitCommandError exception message.
Note: This is only exploitable when file contents are disclosed through lines that do not match any path in the repository.