Vulnérabilités dans Git permettant d'écraser des fichiers ou d'exécuter son propre code

Des mises à jour correctives pour le système de gestion de versions distribué Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 et 2.30.9 ont été publiées, corrigeant cinq vulnérabilités. Vous pouvez suivre les mises à jour des packages dans les distributions sur les pages de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. En tant que solution de contournement pour se protéger contre ces vulnérabilités, il est recommandé d'éviter d'exécuter la commande « git apply —reject » lors de l'utilisation de patchs externes non vérifiés et de vérifier le contenu de $GIT_DIR/config avant d'exécuter les commandes « git submodule deinit », « git config —rename-section » et « git config —remove-section » lors de l'utilisation de dépôts peu fiables.

La vulnérabilité CVE-2023-29007 permet de substituer des réglages dans le fichier de configuration $GIT_DIR/config, qui peuvent être utilisés pour exécuter du code sur le système en spécifiant des chemins vers des fichiers exécutables dans les directives core.pager, core.editor et core.sshCommand. Cette vulnérabilité est causée par une erreur logique, où des valeurs de configuration très longues peuvent être traitées comme le début d'une nouvelle section lors des opérations de renommage ou de suppression de section dans le fichier de configuration. En pratique, des substitutions exploitant cette vulnérabilité peuvent être réalisées en fournissant des URL de sous-modules très longues, qui sont enregistrées dans le fichier $GIT_DIR/config lors de l'initialisation. Ces URL peuvent être interprétées comme de nouveaux réglages lors de leur suppression via « git submodule deinit ».

La vulnérabilité CVE-2023-25652 permet de réécrire le contenu de fichiers en dehors de l'arborescence de travail lors du traitement de patchs spécialement formatés avec la commande « git apply —reject ». Si vous tentez d'exécuter une commande « git apply » avec un patch malveillant essayant d'écrire dans un fichier via un lien symbolique, l'opération sera rejetée. Dans Git 2.39.1, la protection contre les manipulations via des liens symboliques a été renforcée par le blocage des patchs créant des liens symboliques et tentant d'effectuer des écritures via ceux-ci. L'essence de cette vulnérabilité est que Git ne tenait pas compte du fait qu'un utilisateur pouvait exécuter la commande « git apply —reject » pour enregistrer les parties rejetées du patch sous forme de fichiers avec l'extension « .rej », et un attaquant pourrait utiliser cette possibilité pour écrire du contenu dans n'importe quel répertoire, tant que cela est autorisé par les permissions actuelles.

De plus, trois vulnérabilités ont été corrigées, se manifestant uniquement sur la plateforme Windows : CVE-2023-29012 (recherche de l'exécutable doskey.exe dans le répertoire de travail du dépôt lors de l'exécution de la commande « Git CMD », permettant l'exécution de son propre code sur le système de l'utilisateur), CVE-2023-25815 (débordement de tampon lors du traitement de fichiers de localisation spécialement conçus dans gettext) et CVE-2023-29011 (possibilité de substitution du fichier connect.exe lors d'une utilisation via SOCKS5).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster