Vulnérabilités dans Git lors du clonage de sous-modules et de l'utilisation du shell git

Des versions correctives du système de contrôle de source distribué Git 2.38.1, 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3 et 2.37.4 ont été publiées, qui corrigent deux vulnérabilités, qui apparaissent lors de l'utilisation de la commande « git clone » en mode « —recurse-submodules » avec des référentiels non vérifiés et lors de l'utilisation du mode interactif « git shell ». Vous pouvez suivre la publication des mises à jour des packages dans les distributions sur les pages de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.

  • CVE-2022-39253 - La vulnérabilité permet à un attaquant qui contrôle le contenu du référentiel cloné d'accéder aux données confidentielles sur le système de l'utilisateur en plaçant des liens symboliques vers des fichiers d'intérêt dans le répertoire $GIT_DIR/objects du référentiel cloné. Le problème n'apparaît que lors du clonage local (en mode "--local", utilisé lorsque les données cible et source du clone sont dans la même partition) ou lors du clonage d'un référentiel malveillant packagé sous forme de sous-module dans un autre référentiel (par exemple, lors de l'inclusion récursive de sous-modules avec la commande "git clone" --recurse-submodules").

    La vulnérabilité est due au fait qu'en mode de clonage « --local », git transfère le contenu de $GIT_DIR/objects vers le répertoire cible (créant des liens physiques ou des copies de fichiers), effectuant un déréférencement de liens symboliques (c'est-à-dire, comme par conséquent, les liens non symboliques sont copiés dans le répertoire cible, mais directement dans les fichiers vers lesquels pointent les liens). Pour bloquer la vulnérabilité, les nouvelles versions de git interdisent le clonage de référentiels en mode « --local » contenant des liens symboliques dans le répertoire $GIT_DIR/objects. De plus, la valeur par défaut du paramètre protocol.file.allow a été modifiée en « user », ce qui rend les opérations de clonage utilisant le protocole file:// dangereuses.

  • CVE-2022-39260 - Dépassement d'entier dans la fonction split_cmdline() utilisée dans la commande "git shell". Le problème peut être utilisé pour attaquer les utilisateurs qui ont « git shell » comme shell de connexion et dont le mode interactif est activé (un fichier $HOME/git-shell-commands a été créé). L'exploitation de la vulnérabilité peut conduire à l'exécution de code arbitraire sur le système lors de l'envoi d'une commande spécialement conçue d'une taille supérieure à 2 Go.

Source: opennet.ru

Ajouter un commentaire