Des versions corrigées du système de gestion de version 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, corrigeant deux vulnérabilités qui se manifestent lorsque la commande « git clone » est utilisée avec l'option « —recurse-submodules » sur des dépôts non vérifiés et dans le mode interactif de « git shell ». Vous pouvez suivre les mises à jour des paquets dans les distributions sur les pages de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
- CVE-2022-39253 — cette vulnérabilité permet à un attaquant, contrôlant le contenu du dépôt cloné, d'accéder à des données sensibles 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 dépôt cloné. Le problème se manifeste uniquement lors du clonage local (en mode « —local », utilisé lorsque les données cibles et sources du clonage se trouvent sur la même partition) ou lors du clonage d'un dépôt malveillant encapsulé sous forme de sous-module dans un autre dépôt (par exemple, lors de l'inclusion récursive de sous-modules avec la commande « git clone —recurse-submodules »).
La vulnérabilité est causée par le fait qu'en mode de clonage « —local », git déplace le contenu de $GIT_DIR/objects vers le répertoire cible (crée des liens physiques ou des copies de fichiers), dé-référant les liens symboliques (c'est-à-dire qu'au final, le répertoire cible contient non pas des liens symboliques, mais directement les fichiers vers lesquels pointent les liens). Pour bloquer cette vulnérabilité dans les nouvelles versions de git, le clonage de dépôts en mode « —local » contenant des liens symboliques dans le répertoire $GIT_DIR/objects est interdit. De plus, la valeur par défaut du paramètre protocol.file.allow a été modifiée à « user », ce qui place les opérations de clonage utilisant le protocole file:// dans la catégorie des opérations non sécurisées.
- CVE-2022-39260 — un dépassement d'entier dans la fonction split_cmdline(), utilisée dans la commande « git shell ». Ce problème peut être exploité pour attaquer les utilisateurs pour qui « git shell » est utilisé comme shell lors de la connexion et où 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 formatée, dont la taille dépasse 2 Go.
Source : opennet.ru
