De nouvelles versions de Git sont disponibles, avec des correctifs pour cinq vulnérabilités, dont la plus critique peut être utilisée par des attaquants pour exécuter du code à distance lors d’une opération de « clonage ».
CVE-2024-32002 est une vulnérabilité critique qui permet à des dépôts Git spécialement conçus avec des sous-modules de tromper Git en écrivant des fichiers dans un répertoire .git/ au lieu de l’arborescence du sous-module.
« Cela est possible en confondant Git avec un répertoire et un lien symbolique qui ne diffèrent que par leur nature, de sorte que Git peut écrire l’un ou l’autre, mais pas les deux. Cette confusion peut être utilisée pour manipuler Git afin qu’il écrive un hook qui sera exécuté alors que l’opération de clonage est toujours en cours, ne donnant à l’utilisateur aucune possibilité d’inspecter le code en cours d’exécution », explique Johannes Schindelin, responsable de Git pour Windows.
CVE-2024-32004 permet également l’exécution de code à distance, mais uniquement sur des machines multi-utilisateurs : « Un attaquant peut préparer un dépôt local de manière à ce qu’il ressemble à un clone partiel auquel il manque un objet, de sorte que, lorsque ce dépôt est cloné, Git exécute du code arbitraire pendant l’opération avec toutes les permissions de l’utilisateur effectuant le clonage. »
CVE-2024-32465 peut permettre à des attaquants de contourner les protections pour le clonage de dépôts non fiables, CVE-2024-32020 peut permettre à des utilisateurs non fiables de modifier des objets dans le dépôt cloné, et CVE-2024-32021 peut être utilisé pour manipuler Git afin d’écrire des fichiers en dehors de l’arbre de travail de Git et en dehors de l’arbre de travail de Git.
« La mise à jour vers la dernière version de Git est essentielle pour se protéger contre ces vulnérabilités. Si vous ne pouvez pas effectuer la mise à jour immédiatement, faites attention à l’endroit où vous clonez les dépôts », a conseillé M. Schindelin.