CVE-2023-41040

Name
CVE-2023-41040
Description
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.
NVD Severity
low
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
CONFIRM https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-cwvm-v4w8-q58c
MISC https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175
MISC https://lists.debian.org/debian-lts-announce/2023/09/msg00036.html
MISC https://github.com/gitpython-developers/GitPython/commit/74e55ee4544867e1bd976b7df5a45869ee397b0b
MISC https://github.com/gitpython-developers/GitPython/commit/e98f57b81f792f0f5e18d33ee658ae395f9aa3c4
MISC https://github.com/gitpython-developers/GitPython/pull/1672
MISC https://github.com/gitpython-developers/GitPython/releases/tag/3.1.37
MISC https://github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2023-165.yaml
af854a3a-2127-422b-91ae-364da2661108 https://lists.debian.org/debian-lts-announce/2024/10/msg00030.html

Match rules

CPE URI Source package Min version Max version
gitpython >= 0 < 3.1.37

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
py3-gitpython edge-community 3.1.37-r0 Bart Ribbers <bribbers@disroot.org> fixed
py3-gitpython edge-community 3.1.35-r0 Bart Ribbers <bribbers@disroot.org> fixed
py3-gitpython 3.22-community 3.1.37-r0 None fixed
py3-gitpython 3.21-community 3.1.37-r0 None fixed
py3-gitpython 3.20-community 3.1.37-r0 None fixed
py3-gitpython 3.19-community 3.1.37-r0 None fixed
py3-gitpython 3.18-community 3.1.31-r1 Bart Ribbers <bribbers@disroot.org> possibly vulnerable