Risque(s)

  • Exécution de code arbitraire à distance

Systèmes affectés

  • Git branche antérieure à 2.14.5
  • Git de la branche 2.15 jusqu'à 2.15.3 (exclue)
  • Git de la branche 2.16 jusqu'à 2.16.5 (exclue)
  • Git de la branche 2.17 jusqu'à 2.17.2 (exclue)
  • Git de la branche 2.18 jusqu'à 2.18.1 (exclue)
  • Git de la branche 2.19 jusqu'à 2.19.1 (exclue)
  • Client tierces (Github, Atom...) : voir les sites des développeurs

Résumé

Le 5 octobre 2018, le projet Git a publié un correctif de sécurité concernant le client Git. Celui-ci concerne la vulnérabilité CVE-2018-17456 qui permet à un attaquant d'exécuter du code arbitraire à distance.

La cinématique d'exploitation de cette vulnérabilité est la suivante :

  • L'attaquant crée un fichier ".gitmodules" malveillant dans un projet
  • Lors de la réplication d'un projet via la commande "git clone --recurse-modules", le client Git analyse le fichier ".gitmodules"
  • Si le champ "URL" est une chaîne de caractère commençant par un tiret ("-"), le sous-processus "git clone" exécutera la chaîne comme une option

Cela conduit à une exécution de code arbitraire à distance sur la machine d'un utilisateur ayant lancé une simple commande "git clone". La facilité d'exploitation de cette vulnérabilité constitue un risque majeur.

Il est par ailleurs possible d'avoir un comportement non-voulu (chemin brisé) en définissant le champ "PATH" comme une chaîne de caractère commençant par un tiret ("-"). Ce champ ne semble pas être affecté par la vulnérabilité au sens de l'exécution de code mais peut provoquer des dysfonctionnements lors du clonage de projets.

Solution

Le CERT-FR recommande de mettre à jour son client Git sans attendre.

Documentation