CVE-2025-48384 – Écriture arbitraire de fichiers dans Git via des sous-modules malveillants

CVE-2025-48384 est une vulnérabilité de haute gravité dans le client Git (sur macOS et Linux) divulguée le 8 juillet 2025.
Elle se manifeste lors de l’utilisation de git clone --recursive sur un dépôt contenant un fichier .gitmodules manipulé, incluant des chemins se terminant par un caractère de retour chariot (CR), ce qui peut conduire à l’écriture arbitraire de fichiers et potentiellement à l’exécution de code à distance (RCE). Cela représente un risque significatif pour la chaîne d’approvisionnement des développeurs et les systèmes d’automatisation.

Date28-08-2025 09:44:54
Informations
  • Correctif disponible

Résumé technique

L’analyseur de configuration de Git supprime les CRLF finaux lors de la lecture des valeurs de configuration, mais ne protège pas les valeurs lors de leur écriture, provoquant des divergences. Si un chemin de sous-module se termine par un caractère CR, Git peut initialiser le module à un emplacement non intentionnel. En présence d’un lien symbolique vers le répertoire hooks du sous-module et d’un hook post-checkout exécutable, le clonage du dépôt peut déclencher le hook, menant à l’exécution de code.

Les versions de la CLI Git antérieures aux versions corrigées—v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, et v2.50.1—sont vulnérables. Il est important de noter que les systèmes Windows ne sont pas concernés.

De plus, des exploits de type preuve de concept (PoC) sont disponibles publiquement, augmentant le risque concret.

Recommandations

  1. Mettre à jour immédiatement la CLI Git
    Assurez-vous que tous les clients Git sur macOS et Linux sont mis à jour vers l’une des versions corrigées :
    v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1 ou v2.50.1 (ou ultérieures).

  2. Éviter le clonage récursif depuis des dépôts non fiables
    Évitez l’utilisation de git clone --recursive pour des dépôts provenant de sources non vérifiées, surtout sur les postes de travail de développement ou les pipelines CI/CD.

  3. Utiliser des versions corrigées de Git dans les environnements d’automatisation
    Dans les environnements tels que GitLab Runner ou les outils CI, assurez-vous que le client Git utilisé dans les images de base est à jour ; évitez l’utilisation de versions vulnérables.

  4. Vérifier la présence de versions vulnérables
    Sur les systèmes concernés, exécutez git --version pour vérifier si la version installée fait partie des versions sécurisées. Sur macOS, gardez à l’esprit que des outils comme Homebrew peuvent installer une version supplémentaire de Git sans remplacer celle du système ; mettez à jour votre PATH en conséquence.

  5. Surveiller et informer les développeurs
    Sensibilisez les équipes aux risques liés aux sous-modules malveillants et assurez-vous que les environnements sensibles limitent les opérations aux sources fiables uniquement.

[Callforaction-THREAT-Footer]

Leave a Reply

Your email address will not be published. Required fields are marked *