Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/s41r4j/cve-2025-48384
Analyse des VulnérabilitésExploitationSécurité de la Chaîne LogistiqueArticles et RechercheApprentissage et ÉducationLabs et Pratique
GitHubs41r4j/cve-2025-48384

CVE-2025-48384

Vulnérabilité GIT | Retour chariot et RCE lors du clonage

Voir le dépôt
il y a 10 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

Aperçu de CVE-2025-48384

CVE-2025-48384 est une vulnérabilité critique dans Git, le système de contrôle de version distribué largement utilisé. Elle implique une gestion incorrecte des caractères de retour chariot (CR) dans les valeurs de configuration, ce qui peut entraîner des problèmes de traversée de chemin lors des vérifications de sous-modules. Cette faille permet une éventuelle exécution de code arbitraire dans des conditions spécifiques. La vulnérabilité a été divulguée publiquement le 8 juillet 2025 et modifiée pour la dernière fois le 26 août 2025. Elle a été ajoutée au catalogue des vulnérabilités connues exploitées (KEV) de la Cybersecurity and Infrastructure Security Agency (CISA) des États-Unis le 25 août 2025, indiquant une exploitation active dans la nature, avec une date limite de correction fixée au 15 septembre 2025.

Description de la vulnérabilité

Le problème vient de la manière dont Git traite les valeurs de configuration :

  • Lors de la lecture d'une valeur de configuration, Git supprime tous les caractères de retour chariot et de saut de ligne (CRLF) en fin de chaîne.
  • Cependant, lors de l'écriture d'une entrée de configuration, les valeurs contenant un CR final ne sont pas correctement mises entre guillemets, ce qui entraîne la perte du CR lors des lectures ultérieures.

Cette divergence peut entraîner l'extraction d'un sous-module vers un emplacement incorrect si son chemin contient un CR final. Si un attaquant crée un lien symbolique pointant ce chemin modifié vers le répertoire des hooks du sous-module — et que le sous-module contient un hook post-checkout exécutable — le script du hook pourrait être exécuté involontairement après l'extraction, entraînant une exécution de code arbitraire.

Détails techniques

La vulnérabilité exploite un conflit d'interprétation dans l'analyse de la configuration de Git :

  • Inadéquation de gestion de la configuration : Les CR finaux sont supprimés lors de la lecture mais ne sont pas conservés lors de l'écriture sans être mis entre guillemets.
  • Altération du chemin d'extraction du sous-module : Un chemin de sous-module comme "submodule/path" pourrait être interprété comme "submodule/path" après la perte du CR.
  • Exploitation du lien symbolique : Un attaquant pourrait créer un lien symbolique du chemin modifié vers le répertoire des hooks (par exemple, .git/hooks/post-checkout), permettant l'exécution de hooks malveillants lors d'opérations comme git submodule update ou git clone --recurse-submodules.

Ceci est classé sous :

  • CWE-436 : Conflit d'interprétation (décalage dans la façon dont les données sont traitées).
  • CWE-59 : Résolution de lien incorrecte avant l'accès au fichier ('Link Following'), due à un abus de lien symbolique.

Le vecteur d'attaque est réseau (AV:N), avec une complexité élevée (AC:H), des privilèges faibles requis (PR:L), une interaction utilisateur requise (UI:R) et une portée modifiée (S:C), impactant fortement la confidentialité, l'intégrité et la disponibilité (C:H/I:H/A:H).

Versions affectées

La vulnérabilité affecte les versions de Git antérieures aux versions corrigées suivantes :

  • Toutes les versions antérieures à v2.43.7
  • v2.44.0 à v2.44.3
  • v2.45.0 à v2.45.3
  • v2.46.0 à v2.46.3
  • v2.47.0 à v2.47.2
  • v2.48.0 à v2.48.1
  • v2.49.0
  • v2.50.0

Elle impacte Git sur diverses plateformes, y compris Linux, macOS et Windows, mais est particulièrement pertinente dans les environnements de développement, les pipelines CI/CD (par exemple, GitHub Actions, GitLab CI) et partout où des sous-modules Git sont clonés à partir de dépôts non fiables.

Impact et scénarios d'exploitation

  • Impact : Risque élevé d'exécution de code à distance (RCE), d'exfiltration de données ou de compromission du système. Dans les workflows de développement, cela pourrait entraîner des attaques sur la chaîne d'approvisionnement si des dépôts malveillants sont clonés.
  • Conditions d'exploitation :
    • Un chemin de sous-module spécialement conçu avec un CR final.
    • Un lien symbolique redirigeant vers le répertoire des hooks.
    • Un hook exécutable (par exemple, post-checkout) dans le sous-module.
    • Interaction utilisateur, comme le clonage d'un dépôt avec --recurse-submodules.
  • Exploitation réelle : Comme elle figure dans le catalogue KEV de la CISA, les agences fédérales et les infrastructures critiques doivent appliquer des correctifs d'ici le 15 septembre 2025. Il est probable qu'elle soit exploitée dans des attaques ciblées contre des développeurs ou des projets open source. Aucune preuve de concept (PoC) publique n'est mentionnée dans l'avis, mais la complexité élevée suggère qu'elle nécessite une configuration spécifique.

Les détails CVSS ne sont pas encore entièrement notés dans le NVD (CVSS 4.0 en attente), mais sur la base des métriques CVSS 3.1 de l'avis, elle correspond à une sévérité critique (CVSS estimé à 8,8, comme indiqué précédemment dans des listes CVE plus larges).

Atténuation et recommandations

  • Versions corrigées : Mettez à jour Git vers l'une des versions suivantes ou ultérieures :
    • v2.43.7
    • v2.44.4
    • v2.45.4
    • v2.46.4
    • v2.47.3
    • v2.48.2
    • v2.49.1
    • v2.50.1
  • Solutions de contournement :
    • Évitez de cloner les sous-modules de manière récursive (--recurse-submodules) à partir de dépôts non fiables.
    • Désactivez ou limitez l'utilisation des liens symboliques dans les configurations Git si possible.
    • Utilisez Git dans des environnements avec des permissions restreintes (par exemple, des configurations conteneurisées).
  • Conseils supplémentaires : Pour les organisations soumises aux directives de la CISA, appliquez les correctifs selon les instructions du fournisseur ou cessez l'utilisation si ceux-ci ne peuvent pas être appliqués. Analysez régulièrement les dépôts pour détecter des sous-modules suspects et surveillez les exécutions inattendues de hooks.

Crédits et références

  • Crédits : L'avis remercie ttaylorr pour avoir signalé et publié les détails.
  • Références clés :
    • Entrée NVD : https://nvd.nist.gov/vuln/detail/CVE-2025-48384
    • Avis GitHub : https://github.com/git/git/security/advisories/GHSA-vwqx-4fm8-6qc9
    • Catalogue KEV de la CISA : (Intégré dans les détails du NVD)

Cette vulnérabilité souligne l'importance d'une gestion sécurisée dans les systèmes de contrôle de version, en particulier avec les sous-modules. Si vous utilisez Git dans un environnement de production ou de développement, priorisez la mise à jour immédiate, compte tenu du statut d'exploitation active.

PoC rapide

  • Prérequis : Docker installé ; ce dépôt cloné localement. Aucun réseau nécessaire pendant le PoC.
  • Git vulnérable : Utilise Git 2.40.4 (comportement de confusion de chemin vérifié).
  • URL du sous-module : .gitmodules pointe vers https://github.com/s41r4j/CVE-2025-48384-submodule.git, mais le PoC le réécrit vers une copie locale pour les tests hors ligne.

Exécutez :

bash scripts/poc.sh

Ce qu'il fait :

  • Construit une image conteneur avec Git 2.40.4.
  • Crée un drapeau (flag) dans $HOME/flag.txt à l'intérieur du conteneur.
  • Copie malicious-submodule-repo/ vers /tmp dans le conteneur.
  • Clone ce dépôt récursivement avec une réécriture d'URL vers cette copie locale du sous-module.
  • Force l'extraction pour déclencher le hook post-checkout si la confusion de chemin réussit.
  • Affiche /tmp/flag.txt créé par le hook.

Remarques :

  • Le chemin du sous-module malveillant est un sub^M littéral (CR) stocké comme gitlink ; le chemin assaini sub se résout via un lien symbolique vers .git/hooks, de sorte que le post-checkout suivi du sous-module atterrit comme un véritable hook et s'exécute.
  • Pour rediriger le gitlink vers le dernier commit de votre sous-module distant après l'avoir poussé sur GitHub, exécutez : bash scripts/update-gitlink.sh.
Télécharger l’outil