Détection de deux vulnérabilités dans Git entraînant une fuite de données et un écrasement

vulnérabilité

Si elles sont exploitées, ces failles peuvent permettre aux attaquants d'obtenir un accès non autorisé à des informations sensibles ou de causer des problèmes en général.

Récemment la publication de diverses versions correctives a été annoncée système de contrôle de source distribué Git allant de la version 2.38.4 à la version 2.30.8, contenant deux correctifs qui suppriment les vulnérabilités connues affectant les optimisations de clone local et la commande "git apply".

A ce titre, il est mentionné que ces versions de maintenance doivent résoudre deux problèmes de sécurité identifié sous CVE-2023-22490 et CVE-2023-23946. Les deux vulnérabilités affectent les gammes de versions existantes et les utilisateurs sont fortement encouragés à mettre à jour en conséquence.

Un attaquant peut exploiter à distance une vulnérabilité pour détecter des informations. De plus, un attaquant peut
exploiter une vulnérabilité localement pour manipuler des fichiers.

Des privilèges normaux sont requis pour exploiter les vulnérabilités. Les deux vulnérabilités nécessitent une interaction de l'utilisateur.

La première vulnérabilité identifiée est CVE-2023-22490Qui permet à un attaquant qui contrôle le contenu d'un référentiel cloné d'accéder à des données sensibles sur le système d'un utilisateur. Deux failles contribuent à la vulnérabilité :

  • La première faille permet, lorsque vous travaillez avec un référentiel spécialement conçu à cet effet, d'obtenir l'utilisation d'optimisations de clonage local même lors de l'utilisation d'un transport qui interagit avec des systèmes externes.
  • La deuxième faille permet de placer un lien symbolique à la place du répertoire $GIT_DIR/objects, similaire à la vulnérabilité CVE-2022-39253, qui bloquait le placement de liens symboliques dans le répertoire $GIT_DIR/objects, mais le fait que le répertoire $GIT_DIR/objects répertoire lui-même n'a pas été vérifié peut être un lien symbolique.

En mode clone local, git déplace $GIT_DIR/objects vers le répertoire cible en déréférencant les liens symboliques, ce qui entraîne la copie directe des fichiers référencés vers le répertoire cible. Le passage à l'utilisation d'optimisations de clonage local pour le transport non local permet d'exploiter une vulnérabilité lorsque vous travaillez avec des référentiels externes (par exemple, l'inclusion récursive de sous-modules avec la commande "git clone --recurse-submodules" peut conduire au clonage d'un référentiel malveillant empaqueté en tant que sous-module dans un autre référentiel).

À l'aide d'un référentiel spécialement conçu, Git peut être amené à utiliser son optimisation de clone local même lors de l'utilisation d'un transport non local.
Bien que Git annulera les clones locaux dont la source $GIT_DIR/objects contient des liens symboliques (cf, CVE-2022-39253), les objets du répertoire lui-même peut toujours être un lien symbolique.

Ces deux peuvent être combinés pour inclure des fichiers arbitraires basés sur chemins d'accès dans le système de fichiers de la victime dans le référentiel malveillant et le copie de travail, permettant une exfiltration de données similaire à
CVE-2022-39253.

La deuxième vulnérabilité détectée est CVE-2023-23946 et cela permet d'écraser le contenu des fichiers en dehors du répertoire travailler en passant une entrée spécialement formatée à la commande "git apply".

Par exemple, une attaque peut être menée lorsque des correctifs préparés par un attaquant sont traités dans git apply. Pour empêcher les correctifs de créer des fichiers en dehors de la copie de travail, "git apply" bloque le traitement des correctifs qui tentent d'écrire un fichier à l'aide de liens symboliques. Mais cette protection s'est avérée être contournée en créant un lien symbolique en premier lieu.

Fedora 36 et 37 ont des mises à jour de sécurité en état de "test" qui mettent à jour 'git' vers la version 2.39.2.

Les vulnérabilités sont également ils traitent avec GitLab 15.8.2, 15.7.7 et 15.6.8 dans Community Edition (CE) et Enterprise Edition (EE).

GitLab classe les vulnérabilités comme critiques car CVE-2023-23946 permet la exécution de code de programme arbitraire dans l'environnement Gitaly (service Git RPC).
Dans le même temps, Python embarqué sera Mise à jour vers la version 3.9.16 pour corriger plus de vulnérabilités.

Enfin Pour ceux qui veulent en savoir plus, vous pouvez suivre la publication des mises à jour de packages dans les distributions sur les pages de DebianUbuntuRHELSUSE / openSUSEFedoravoûteFreeBSD.

S'il n'est pas possible d'installer une mise à jour, il est recommandé comme solution de contournement d'éviter d'exécuter « git clone » avec l'option « -recurse-submodules » sur des référentiels non approuvés, et de ne pas utiliser les commandes « git apply » et « git am » avec le code non vérifié.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.