CVE-2024-32020
Cloning local Git repository by untrusted user allows the untrusted user to modify objects in the cloned repository at will
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
Git is a revision control system. Prior to versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4, local clones may end up hardlinking files into the target repository's object database when source and target repository reside on the same disk. If the source repository is owned by a different user, then those hardlinked files may be rewritten at any point in time by the untrusted user. Cloning local repositories will cause Git to either copy or hardlink files of the source repository into the target repository. This significantly speeds up such local clones compared to doing a "proper" clone and saves both disk space and compute time. When cloning a repository located on the same disk that is owned by a different user than the current user we also end up creating such hardlinks. These files will continue to be owned and controlled by the potentially-untrusted user and can be rewritten by them at will in the future. The problem has been patched in versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4.
Git es un sistema de control de revisiones. Antes de las versiones 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 y 2.39.4, los clones locales pueden terminar vinculando archivos a la base de datos de objetos del repositorio de destino cuando el repositorio de origen y el de destino residen en el mismo disco. Si el repositorio de origen es propiedad de un usuario diferente, el usuario que no es de confianza puede reescribir esos archivos vinculados en cualquier momento. La clonación de repositorios locales hará que Git copie o vincule archivos del repositorio de origen al repositorio de destino. Esto acelera significativamente dichos clones locales en comparación con realizar un clon "adecuado" y ahorra espacio en disco y tiempo de cálculo. Al clonar un repositorio ubicado en el mismo disco que es propiedad de un usuario diferente al usuario actual, también terminamos creando dichos enlaces físicos. Estos archivos seguirán siendo propiedad y controlados por el usuario potencialmente no confiable y podrán ser reescritos por él a voluntad en el futuro. El problema se solucionó en las versiones 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 y 2.39.4.
A vulnerability was found in Git. This flaw allows an unauthenticated attacker to place a specialized repository on their target's local system. For performance reasons, Git uses hardlinks when cloning a repository located on the same disk. However, if the repo being cloned is owned by a different user, this can introduce a security risk. At any time in the future, the original repo owner could rewrite the hardlinked files in the cloned user's repo.
CVSS Scores
SSVC
- Decision:Track
Timeline
- 2024-04-09 CVE Reserved
- 2024-05-14 CVE Published
- 2024-05-15 EPSS Updated
- 2024-08-02 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-62: UNIX Hard Link
- CWE-281: Improper Preservation of Permissions
CAPEC
References (7)
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://access.redhat.com/security/cve/CVE-2024-32020 | 2024-07-08 | |
https://bugzilla.redhat.com/show_bug.cgi?id=2280466 | 2024-07-08 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | 2.45.0 Search vendor "Git" for product "Git" and version "2.45.0" | en |
Affected
| ||||||
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | 2.44.0 Search vendor "Git" for product "Git" and version "2.44.0" | en |
Affected
| ||||||
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | >= 2.43.0 < 2.43.4 Search vendor "Git" for product "Git" and version " >= 2.43.0 < 2.43.4" | en |
Affected
| ||||||
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | >= 2.42.0 < 2.42.2 Search vendor "Git" for product "Git" and version " >= 2.42.0 < 2.42.2" | en |
Affected
| ||||||
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | 2.41.0 Search vendor "Git" for product "Git" and version "2.41.0" | en |
Affected
| ||||||
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | >= 2.40.0 < 2.40.2 Search vendor "Git" for product "Git" and version " >= 2.40.0 < 2.40.2" | en |
Affected
| ||||||
Git Search vendor "Git" | Git Search vendor "Git" for product "Git" | < 2.39.4 Search vendor "Git" for product "Git" and version " < 2.39.4" | en |
Affected
|