Vulnérabilités dans Git qui vous permettent d'écraser des fichiers ou d'exécuter votre propre code

Les versions correctives de 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 .XNUMX , qui a corrigé cinq vulnérabilités. Vous pouvez suivre la publication des mises à jour de paquets dans les distributions sur les pages Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Pour contourner les vulnérabilités, il est recommandé d'éviter d'exécuter la commande "git apply --reject" lorsque vous travaillez avec des correctifs externes non testés et de vérifier le contenu de $GIT_DIR/config avant d'exécuter la commande "git submodule deinit", "git config --rename-section" et " git config --remove-section" lorsqu'il s'agit de référentiels non approuvés.

La vulnérabilité CVE-2023-29007 permet la substitution de paramètres dans le fichier de configuration $GIT_DIR/config, qui peut être utilisé pour exécuter du code dans le système en spécifiant des chemins vers des fichiers exécutables dans les directives core.pager, core.editor et core.sshCommand. La vulnérabilité est causée par une erreur logique en raison de laquelle des valeurs de configuration très longues peuvent être traitées comme le début d'une nouvelle section lors du changement de nom ou de la suppression d'une section d'un fichier de configuration. En pratique, la substitution des valeurs d'exploitation peut être obtenue en spécifiant de très longues URL de sous-modules qui sont enregistrées dans le fichier $GIT_DIR/config lors de l'initialisation. Ces URL peuvent être interprétées comme de nouveaux paramètres lorsque vous essayez de les supprimer via "git submodule deinit".

La vulnérabilité CVE-2023-25652 permet d'écraser le contenu des fichiers en dehors de l'arborescence de travail lorsque des correctifs spécialement conçus sont traités par la commande "git apply --reject". Si vous essayez d'exécuter un correctif malveillant avec la commande "git apply" qui tente d'écrire dans un fichier via un lien symbolique, l'opération sera rejetée. Dans Git 2.39.1, la protection contre la manipulation des liens symboliques a été étendue pour bloquer les correctifs qui créent des liens symboliques et tentent d'écrire à travers eux. L'essence de la vulnérabilité à l'étude est que Git n'a pas pris en compte le fait que l'utilisateur peut exécuter la commande "git apply -reject" pour écrire les parties rejetées du correctif sous forme de fichiers avec l'extension ".rej", et l'attaquant peut profitez de cette opportunité pour écrire le contenu dans un répertoire arbitraire, dans la mesure où les autorisations actuelles le permettent.

De plus, trois vulnérabilités qui n'apparaissaient que sur la plateforme Windows ont été corrigées : CVE-2023-29012 (recherche de l'exécutable doskey.exe dans le répertoire de travail du référentiel lors de l'exécution de la commande "Git CMD", qui permet d'organiser l'exécution de votre code sur le système de l'utilisateur), CVE-2023-25815 (débordement de tampon lors du traitement des fichiers de localisation personnalisés dans gettext) et CVE-2023-29011 (possibilité de remplacer le fichier connect.exe lors du travail via SOCKS5).

Source: opennet.ru

Ajouter un commentaire