CVE-2023-41040: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
(updated )
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 does not 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 not yet been addressed.
References
Detect and mitigate CVE-2023-41040 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →