L'équipe de développement de Git vient d'annoncer qu'une importante faille de sécurité avait été découverte dans l'outil de gestion de versions. Elle touche le client officiel, mais également ceux qui l'exploitent, comme GitHub. Les conséquences peuvent être fâcheuses puisqu'il est question de l'exécution de code à distance sur Linux (dans certains cas seulement), OS X et Windows.
Git est un logiciel libre de gestion de versions pour les projets qui est utilisé par de nombreux développeurs. Problème, une importante faille de sécurité (CVE-2014-9390) vient d'être découverte et cela ne concerne pas uniquement le client officiel puisque toutes les applications tierces sont également touchées, comme celles du service GitHub par exemple.
De la différence entre « .git » et « .Git »
Ce dernier a d'ailleurs publié un billet sur son blog afin de donner quelques explications et inciter ses utilisateurs à se mettre à jour sans attendre. On y apprend que cette faille concerne tous les dépôts hébergés sur des systèmes qui ne sont pas sensibles à la casse, le problème vient d'une confusion entre « .Git » et « .git ». Il y est indiqué qu'« un pirate peut concevoir une arborescence malveillante qui aura pour conséquence l'écrasement du fichier .git/config lors d'un clonage ou d'une vérification d'un dépôt, cela permet ensuite d'exécuter du code arbitraire sur la machine ». C'est donc une porte grande ouverte qui s'offre ainsi aux pirates qui pourraient s'en donner à cœur joie pour infecter des ordinateurs à distance.
De son côté, l'équipe en charge du développement de Git précise que les applications pour OS X (système de fichiers HFS+) et Windows (NTFS et FAT) ont droit à d'autres correctifs spécifiques. Dans le premier cas, un chemin du type « .g\u200cit/config » était en fait traité comme étant « .git/config », tandis que dans le second cas le problème se produisait avec « git~1/config » par exemple. Linux n'est pas totalement épargné, mais cela n'affecte que les machines utilisant un système de fichier non sensible à la casse. Red Hat en profite pour préciser que ce n'est pas le cas de son système Linux Entreprise et qu'il n'est donc pas vulnérable à cette faille.
Des mises à jour sont déjà disponibles
Bien évidemment, des mises à jour ont été mises en ligne. Git passe ainsi à la mouture 2.2.1 (voir les notes de version), mais des versions de « maintenances » sont également disponibles pour des versions plus anciennes : Git 1.8.5.6, 1.9.5, 2.0.5 et 2.1.4. GitHub est également à jour avec la mouture 2.6.5 de son application. Dans tous les cas, il est donc important de se mettre rapidement à jour.