CVE Catalog

CVE-2023-41040

MediumCVSS 4.0
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
1.01%

59th percentile - higher than 59% of all known CVEs

Summary

GitPython is a Python library used to interact with Git repositories. Due to a lack of verification of file locations, GitPython can read any file from the system, creating an attack risk.

Risk Assessment

An attacker could exploit this vulnerability to trigger a denial of service in the program, potentially disrupting its operation.

Recommendation

It is recommended to update GitPython to version 3.1.37 to mitigate this vulnerability.

Original NVD description (English source)

GitPython is a python library used to interact with Git repositories. In order to resolve some git references, GitPython reads files from the `.git` directory, in some places the name of the file being read is provided by the user, GitPython doesn't check if this file is located outside the `.git` directory. This allows an attacker to make GitPython read any file from the system. This vulnerability is present in https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175. That code joins the base directory with a user given string without checking if the final path is located outside the base directory. This vulnerability cannot be used to read the contents of files but could in theory be used to trigger a denial of service for the program. This issue has been addressed in version 3.1.37.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS