Sécurité

Git : découverte de deux vulnérabilités permettant l'exécution de code à distance

Deux nouvelles failles de sécurité ont été découvertes pour Git. Les utilisateurs sont invités à mettre à jour leur installation locale de Git, plus particulièrement s'il font usage de l'utilitaire git archive, travaillent sur des répertoires en lesquels ils n'ont pas confiance.

Une autre faille concerne quant à elle les utilisateurs de Git GUI sous Windows.



Le projet Git a déployé ce jour une nouvelle version de la solution pour adresser ces nouvelles vulnérabilités, référencées dans le CVE (Common Vulnerabilities and Exposures) CVE-2022-41903 et CVE-2022-23521, qui affectent la version 2.39 du logiciel libre (soit la dernière en date) et celles qui la précèdent.

La faille du client Git GUI pour Windows, est quant à elle référencée sous la CVE-2022-41953.

Les deux premières vulnérabilités affectent respectivement le mécanisme de formatage de Git et son parser .gitattributes. Alors que la première permet l'écriture arbitraire dans le code, la seconde permet la lecture. Combinées, celles-ci permettraient l'exécution de code à distance.

Découvertes dans le cadre d'un audit mené sur les sources de Git, les fix résultants ont été développés par des ingénieurs de l'équipe recherche en sécurité de GitLab, des ingénieurs de GitHub et des membres de la mailing list portant sur la sécurité de Git.

De son côté, la faille de Git pour Windows porte une consultation du chemin du répertoire en cours d'utilisation, ce qui peut également permettre l'exécution arbitraire de code lorsque des répertoires sont clonés avec Git GUI.

Le moyen le plus sûr de pallier à ces vulnérabilités est d'upgrader sa configuration vers la version 2.39.1 de Git. Si vous n'êtes pas en mesure de le faire rapidement, vous pouvez réduire les risques de la manière suivante :

  • Éviter d'utiliser le mécanisme --format et git archive
  • Si vous exposez git archive via git daemon, envisagez de le désactiver si vous travaillez sur des repositories sensibles en exécutant la commande git config --global daemon.uploadArch false
  • Éviter d'utiliser Git GUI sous Windows lorsque vous clonez des repos

À lire aussi sur Les Joies du Code :

À propos de l'auteur
Nicolas Lecointre
Chief Happiness Officer des développeurs, ceinture noire de sudo. Pour rire, j'ai créé Les Joies du Code. J'utilise Vim depuis 10 ans parce que je sais pas comment le quitter.