Des versions correctives du système de gestion de code source distribué Git 2.41.3, 2.42.4, 2.43.6, 2.44.3, 2.45.3, 2.46.3, v2.47.2 et 2.48.1 ont été publiées, corrigeant deux vulnérabilités :
- CVE-2024-50349 — possibilité de falsification des informations dans une demande interactive de mot de passe pour le dépôt. Ce problème est dû à un manque de vérification adéquate du nom d'hôte, permettant l'encodage de caractères au format %xx (URL Encoding). Un attaquant pouvait utiliser l'encodage par pourcentage pour ajouter des séquences d'échappement au nom d'hôte, manipulant ainsi la sortie sur le terminal.
De cette manière, il est possible de remplacer le texte d'invite d'authentification et de créer chez l'utilisateur une impression de se connecter à un autre dépôt, ce qui pourrait amener le utilisateur à entrer son identifiant et son mot de passe d'un autre hôte lorsqu'il s'adresse au dépôt de l'attaquant. L'attaque peut être réalisée lors de la clonage récursive des sous-modules avec la commande « git clone —recurse-submodules », où un des sous-modules peut demander un mot de passe d'un autre hôte, mais la saisie sera envoyée à l'hôte avec le dépôt de l'attaquant.
- CVE-2024-52006 — une défaillance a été identifiée dans l'implémentation du protocole « credential helper », utilisé pour transmettre des informations d'identification lors de l'accès à des dépôts restreints, permettant d'insérer des caractères de retour chariot dans les données via un URL spécialement formé. Comme le protocole manipule les données ligne par ligne, l'ajout d'un retour chariot peut être utilisé pour diviser des blocs de données et organiser le transfert du mot de passe vers le mauvais serveur. La possibilité d'attaques dépend de l'interprétation du caractère de retour chariot comme séparateur de ligne dans les différentes implémentations du protocole « credential helper ». Par exemple, le Git Credential Manager, écrit en C#/.NET, est vulnérable à ce problème.
Aux utilisateurs incapables de mettre à jour Git, il est recommandé de s'abstenir d'accéder à des dépôts externes non vérifiés à l'aide de la commande « git clone » avec le drapeau « —recurse-submodules », et d'éviter l'utilisation de helpers d'informations d'identification lors du clonage de dépôts publics. En plus de Git, des correctifs pour bloquer ces vulnérabilités ont été publiés pour GitHub Desktop (CVE-2025-23040), Git LFS (CVE-2024-53263) et Git Credential Manager (CVE-2024-50338).
Source : opennet.ru
