CVE-2023-41040

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:*

History

17 Jun 2026, 06:20

Type Values Removed Values Added
Summary
  • (es) GitPython es una biblioteca de python utilizada para interactuar con repositorios Git. Para resolver algunas referencias de git, GitPython lee archivos del directorio `.git`, en algunos lugares el nombre del archivo que se lee es proporcionado por el usuario, GitPython no verifica si este archivo está ubicado fuera del directorio `.git`. Esto permite a un atacante hacer que GitPython lea cualquier archivo del sistema. Esta vulnerabilidad está presente en https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175. Ese código une el directorio base con una cadena proporcionada por el usuario sin verificar si la ruta final está ubicada fuera del directorio base. Esta vulnerabilidad no puede ser utilizada para leer el contenido de archivos, pero en teoría podría ser utilizada para desencadenar una denegación de servicio para el programa. Este problema ha sido abordado en la versión 3.1.37.

03 Nov 2025, 22:16

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/10/msg00030.html -

21 Nov 2024, 08:20

Type Values Removed Values Added
References () https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175 - Product () https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175 - Product
References () https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-cwvm-v4w8-q58c - Exploit, Vendor Advisory () https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-cwvm-v4w8-q58c - Exploit, Vendor Advisory
References () https://lists.debian.org/debian-lts-announce/2023/09/msg00036.html - () https://lists.debian.org/debian-lts-announce/2023/09/msg00036.html -
CVSS v2 : unknown
v3 : 6.5
v2 : unknown
v3 : 4.0

20 Sep 2024, 21:15

Type Values Removed Values Added
References
  • () https://github.com/gitpython-developers/GitPython/commit/74e55ee4544867e1bd976b7df5a45869ee397b0b -
  • () https://github.com/gitpython-developers/GitPython/commit/e98f57b81f792f0f5e18d33ee658ae395f9aa3c4 -
  • () https://github.com/gitpython-developers/GitPython/pull/1672 -
  • () https://github.com/gitpython-developers/GitPython/releases/tag/3.1.37 -
  • () https://github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2023-165.yaml -
Summary (en) 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 not yet been addressed. (en) 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.

29 Sep 2023, 20:15

Type Values Removed Values Added
References
  • (MISC) https://lists.debian.org/debian-lts-announce/2023/09/msg00036.html -

05 Sep 2023, 18:59

Type Values Removed Values Added
References (MISC) https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-cwvm-v4w8-q58c - (MISC) https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-cwvm-v4w8-q58c - Exploit, Vendor Advisory
References (MISC) https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175 - (MISC) https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175 - Product
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 6.5
CPE cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:*
First Time Gitpython Project
Gitpython Project gitpython

30 Aug 2023, 22:15

Type Values Removed Values Added
New CVE

Information

Published : 2023-08-30 22:15

Updated : 2026-06-17 06:20


NVD link : CVE-2023-41040

Mitre link : CVE-2023-41040

CVE.ORG link : CVE-2023-41040


JSON object : View

Products Affected

gitpython_project

  • gitpython
CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')