Des versions correctives du système de gestion décentralisée de versions Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 et 2.30.8 ont été publiées, corrigeant deux vulnérabilités affectant les optimisations lors du clonage local et la commande « git apply ». Vous pouvez suivre la publication des mises à jour des paquets dans les distributions sur les pages de Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Si la mise à jour ne peut pas être installée, il est recommandé d'éviter d'exécuter l'opération « git clone » avec l'option « —recurse-submodules » avec des dépôts non fiables, ainsi que de ne pas utiliser les commandes « git apply » et « git am » avec du code non vérifié.
- La vulnérabilité CVE-2023-22490 permet à un attaquant contrôlant le contenu du dépôt cloné d'accéder à des données confidentielles sur le système de l'utilisateur. L'apparition de cette vulnérabilité est due à deux défauts :
Le premier défaut permet, lors du travail avec un dépôt spécialement conçu, d'appliquer des optimisations locales du clonage même en utilisant un transport interagissant avec des systèmes externes.
Le second défaut permet de placer un lien symbolique à la place du répertoire $GIT_DIR/objects, similaire à la vulnérabilité CVE-2022-39253, dans la correction de laquelle le placement de liens symboliques dans le répertoire $GIT_DIR/objects était bloqué, mais il n'était pas vérifié que le répertoire lui-même $GIT_DIR/objects pouvait être un lien symbolique.
En mode de clonage local, git déplace $GIT_DIR/objects dans le répertoire cible, en désignant les liens symboliques, ce qui entraîne le fait que les fichiers pointés par les liens sont directement copiés dans le répertoire cible. Le passage à l'application des optimisations locales de clonage pour un transport non local permet d'exploiter la vulnérabilité lors de l'utilisation de dépôts externes (par exemple, l'inclusion récursive de sous-modules par la commande « git clone —recurse-submodules » peut entraîner le clonage d'un dépôt malveillant conditionné sous forme de sous-module dans un autre dépôt).
- La vulnérabilité CVE-2023-23946 permet de réécrire le contenu des fichiers en dehors du répertoire de travail en transmettant une entrée spécialement formée à la commande « git apply ». Par exemple, une attaque peut être réalisée lors du traitement de patches préparés par un tiers dans « git apply ». Pour empêcher la création de fichiers par des patches en dehors de la copie de travail, « git apply » bloque le traitement des patches tentant d'écrire un fichier à l'aide de liens symboliques. Mais cette protection peut être contournée en créant un lien symbolique au préalable.
Source : opennet.ru
