CVE-2023-41040

Aliases:GHSA-cwvm-v4w8-q58cPYSEC-2023-165
Modified
Published: 30 Aug 2023, 21:07
Last modified:03 Nov 2025, 21:49

Vulnerability Summary

Overall Risk (default)
medium
36/100
CVSS Score
6.5 MEDIUM
v3.1 (nvd)
EPSS Score
0.36% LOW
0% probability -0.03%
KEV
Not listed
Ransomware
No reports
Public exploits
1 found
Dark Web
Not detected

Timeline

30 Aug 2023, 21:07
Published
Vulnerability first disclosed
03 Nov 2025, 21:49
Last Modified
Vulnerability information updated

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.

CVSS Metrics

  • v3.1MEDIUMScore: 4CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
  • v3.1MEDIUMScore: 6.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L

EPSS Trends

Current EPSS score: 0.36% Percentile: 58%

Techniques & Countermeasures

  • CWE-22Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

    The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Affected Systems

  • gitpython_projectgitpython

    ≤ 3.1.34

  • gitpython-developersgitpython

    < 3.1.37

  • PyPIgitpython

    < 3.1.37 | < 3.1.35

References (11)