Des mises à jour correctives du systÚme de gestion de versions distribué Git 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 et 2.39.4 ont été publiées, corrigeant cinq vulnérabilités. La vulnérabilité la plus grave (CVE-2024-32002), ayant un niveau de risque critique, permet à un attaquant d'exécuter du code malveillant lors de l'utilisation de la commande « git clone » d'un dépÎt sous son contrÎle.
La vulnérabilité se manifeste uniquement sur les systÚmes de fichiers ne différenciant pas la casse des caractÚres et supportant les liens symboliques, comme ceux par défaut sous Windows et macOS. Son exploitation implique la création dans un sous-module d'un répertoire et d'un lien symbolique ne différant que par la casse, ce qui permet d'écrire des fichiers dans le répertoire .git/, au lieu du répertoire de travail du sous-module. En obtenant un accÚs en écriture à .git/, l'attaquant peut redéfinir les appels de hooks via .git/hooks et exécuter du code arbitraire lors de l'opération « git clone ».
Autres vulnérabilités :
- CVE-2024-32004 â Un attaquant dans un systĂšme multi-utilisateur peut prĂ©parer un dĂ©pĂŽt local spĂ©cialement formatĂ© et aboutir Ă l'exĂ©cution de code lors de son clonage. En particulier, l'attaquant peut crĂ©er un dĂ©pĂŽt local ressemblant Ă un clone partiel, qui manque d'un objet spĂ©cifique. Le clonage de ce dĂ©pĂŽt entraĂźnera l'exĂ©cution de code avec les droits de l'utilisateur effectuant l'opĂ©ration de clonage.
- CVE-2024-32465 â Le clonage d'archives zip contenant un dĂ©pĂŽt git complet, incluant des hooks dans le rĂ©pertoire .git/, entraĂźnera l'exĂ©cution de ces hooks.
- CVE-2024-32020 â La crĂ©ation de clones locaux d'un dĂ©pĂŽt sur le mĂȘme disque dans un systĂšme multi-utilisateur permet Ă d'autres utilisateurs de modifier des fichiers impliquant des liens durs.
- CVE-2024-32021 â Le clonage d'un dĂ©pĂŽt local avec des liens symboliques peut ĂȘtre utilisĂ© pour crĂ©er des liens durs vers des fichiers arbitraires dans le rĂ©pertoire objects/.
En plus de corriger les vulnĂ©rabilitĂ©s dans les nouvelles versions, plusieurs modifications ont Ă©tĂ© proposĂ©es pour renforcer la protection contre les vulnĂ©rabilitĂ©s pouvant mener Ă l'exĂ©cution de code Ă distance et manipulant les liens symboliques lors de l'exĂ©cution de clonages. Par exemple, git avertira dĂ©sormais en cas de prĂ©sence de liens symboliques dans le rĂ©pertoire .git/. Les chemins vers les sous-modules ne peuvent dĂ©sormais contenir que des rĂ©pertoires rĂ©els. Lorsqu'il y a intersection entre des liens symboliques et des rĂ©pertoires, les rĂ©pertoires sont traitĂ©s. Lors de l'exĂ©cution de « git clone », une protection a Ă©tĂ© ajoutĂ©e pour empĂȘcher l'exĂ©cution des hooks pendant le clonage et les vĂ©rifications du paramĂštre core.hooksPath ont Ă©tĂ© renforcĂ©es.
Source : opennet.ru
