Contexte de la faille
Le rapport indique qu’une vulnérabilité affecte le processus de clone récursif de Git, c’est‑à‑dire l’opération git clone --recursive qui récupère automatiquement les sous‑modules d’un dépôt. Aucun numéro de CVE ni de version précise de Git n’est fourni, ce qui limite l’identification immédiate des environnements concernés.
Le texte mentionne que la faille se situe dans le traitement des patches appliqués pendant le clonage. Les patches sont habituellement appliqués via git apply ou git am, deux commandes qui interprètent le format « diff ». L’absence de détails techniques sur le format exact du patch rend difficile la reproduction du problème, mais le fait même que le mécanisme de patch soit ciblé constitue un indice clair sur la surface d’attaque.
Mécanisme d’exploitation
Selon la description, un dépôt malveillant peut inclure un patch contenant des instructions capables d’être exécutées lors du processus de clonage. Dans le modèle standard, Git ne lance pas de code externe lors de l’application d’un patch, mais il accepte des filtres de nettoyage (clean) et de smudge qui peuvent invoquer des programmes externes. Si un attaquant parvient à injecter un filtre malveillant dans le patch, le client Git exécutera alors le code spécifié sans interaction supplémentaire.
Le document précise que l’exploitation nécessite l’utilisation du flag --recursive, ce qui indique que le code malveillant profite du fait que Git initialise et met à jour les sous‑modules automatiquement. Chaque sous‑module est traité comme un dépôt distinct, ce qui augmente le nombre d’opérations de patch et élargit la fenêtre d’injection. Aucun exemple de commande exacte n’est fourni, mais le mécanisme repose sur l’enchaînement des appels internes de Git lors du clonage.
Implications et mesures d’atténuation
En l’absence de version ciblée, la portée de la vulnérabilité reste incertaine. Les administrateurs de dépôts publics et privés sont invités à désactiver le clonage récursif lorsqu’ils ne l’utilisent pas explicitement, ou à vérifier l’intégrité des sous‑modules avant leur mise à jour. Le rapport souligne que la mise à jour de Git vers une version corrigée, dès qu’elle sera publiée, constitue la réponse la plus fiable.
Le texte ne mentionne aucune mitigation logicielle déjà intégrée, ce qui oblige les équipes de sécurité à appliquer des contrôles supplémentaires, comme la revue manuelle des patches ou l’utilisation de signatures GPG pour valider l’authenticité des commits. En l’absence de données chiffrées, il est recommandé de surveiller les bulletins de sécurité officiels de Git et de préparer des procédures de rollback en cas d’incident.