Directory Traversal Affecting python-git package, versions <3.1.30-1+deb12u2


Severity

Recommended
0.0
medium
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
1.02% (60th percentile)

Do your applications use this vulnerable package?

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 applications
  • Snyk IDSNYK-ECHOLATEST-PYTHONGIT-18507910
  • published2 Aug 2026
  • disclosed30 Aug 2023

Introduced: 30 Aug 2023

CVE-2023-41040  (opens in a new tab)
CWE-22  (opens in a new tab)

How to fix?

Upgrade Echo:latest python-git to version 3.1.30-1+deb12u2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream python-git package and not the python-git package as distributed by Echo. See How to fix? for Echo:latest relevant fixed versions and status.

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 Base Scores

version 3.1