CVE-2022-23521

Git is distributed revision control system. gitattributes are a mechanism to allow defining attributes for paths. These attributes can be defined by adding a `.gitattributes` file to the repository, which contains a set of file patterns and the attributes that should be set for paths matching this pattern. When parsing gitattributes, multiple integer overflows can occur when there is a huge number of path patterns, a huge number of attributes for a single pattern, or when the declared attribute names are huge. These overflows can be triggered via a crafted `.gitattributes` file that may be part of the commit history. Git silently splits lines longer than 2KB when parsing gitattributes from a file, but not when parsing them from the index. Consequentially, the failure mode depends on whether the file exists in the working tree, the index or both. This integer overflow can result in arbitrary heap reads and writes, which may result in remote code execution. The problem has been patched in the versions published on 2023-01-17, going back to v2.30.7. Users are advised to upgrade. There are no known workarounds for this issue.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:*:*:*:*:*:*:*:*
cpe:2.3:a:git-scm:git:2.39.0:*:*:*:*:*:*:*

History

21 Nov 2024, 06:48

Type Values Removed Values Added
Summary
  • (es) Git es un sistema de control de revisiones distribuido. Los gitattributes son un mecanismo que permite definir atributos para las rutas. Estos atributos se pueden definir agregando un archivo `.gitattributes` al repositorio, que contiene un conjunto de patrones de archivos y los atributos que deben establecerse para las rutas que coincidan con este patrón. Al analizar gitattributes, pueden ocurrir múltiples desbordamientos de enteros cuando hay una gran cantidad de patrones de ruta, una gran cantidad de atributos para un solo patrón o cuando los nombres de atributos declarados son enormes. Estos desbordamientos se pueden desencadenar a través de un archivo `.gitattributes` manipulado que puede ser parte del historial de confirmaciones. Git divide silenciosamente líneas de más de 2 KB cuando analiza los atributos de git de un archivo, pero no cuando los analiza desde el índice. En consecuencia, el modo de falla depende de si el archivo existe en el árbol de trabajo, en el índice o en ambos. Este desbordamiento de enteros puede provocar lecturas y escrituras arbitrarias en el almacenamiento dinámico, lo que puede provocar la ejecución remota de código. El problema ha sido solucionado en las versiones publicadas el 17-01-2023, remontándose a la v2.30.7. Se recomienda a los usuarios que actualicen. No se conocen workarounds para este problema.
References () https://github.com/git/git/commit/508386c6c5857b4faa2c3e491f422c98cc69ae76 - Patch, Third Party Advisory () https://github.com/git/git/commit/508386c6c5857b4faa2c3e491f422c98cc69ae76 - Patch, Third Party Advisory
References () https://github.com/git/git/security/advisories/GHSA-c738-c5qq-xg89 - Third Party Advisory () https://github.com/git/git/security/advisories/GHSA-c738-c5qq-xg89 - Third Party Advisory
References () https://security.gentoo.org/glsa/202312-15 - () https://security.gentoo.org/glsa/202312-15 -

27 Dec 2023, 10:15

Type Values Removed Values Added
References
  • () https://security.gentoo.org/glsa/202312-15 -

Information

Published : 2023-01-17 23:15

Updated : 2024-11-21 06:48


NVD link : CVE-2022-23521

Mitre link : CVE-2022-23521

CVE.ORG link : CVE-2022-23521


JSON object : View

Products Affected

git-scm

  • git
CWE
CWE-190

Integer Overflow or Wraparound