Présentation des vulnérabilités

Le projet Git a publié le 2 mai 2026 six correctifs de sécurité regroupés sous les identifiants CVE‑2026‑111760, CVE‑2026‑113408, CVE‑2026‑114467, CVE‑2026‑114469, CVE‑2026‑105437 et CVE‑2026‑114466. Les correctifs sont intégrés dans la version 2.56.1 et rétro‑portés aux séries 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 et 2.50.2. GitHub a également mis à jour ses services (GitHub.com, Enterprise Cloud, Enterprise Server 3.19.15‑3.22.4) et les applications Desktop et Copilot pour distribuer les binaires corrigés.

Mécanismes d'exploitation

Le CVE‑2026‑111760 exploite une troncature d’entier lors du traitement de l’index. Un chemin d’une longueur exceptionnelle passe la validation sous un nom long, puis est écrit avec un nom raccourci, permettant à un attaquant de remplacer le fichier .git d’un sous‑module par un lien symbolique vers une configuration malveillante. Lors d’un clone récursif, Git exécute alors le code fourni.

Le CVE‑2026‑113408 concerne le protocole Git v2. Lors du clonage d’un dépôt vide, le serveur peut annoncer un HEAD symref contenant des séquences « ../ ». Git stocke ce nom sans validation, ce qui conduit à une écriture hors du répertoire de références lors d’une mise à jour ultérieure.

Le CVE‑2026‑114467 révèle que la fonction de suppression de signatures GPG suppose un maximum de deux signatures. Un message contenant trois signatures dépasse le tableau de taille fixe, provoquant une corruption de pile et un possible déni de service, notamment lors de la fusion d’un tag signé.

Le CVE‑2026‑114469 montre que la vérification de taille des correctifs binaires ne tient compte que de la taille compressée. Un correctif compressé de moins d’un gigaoctet peut se décompresser au‑delà de cette limite, déclenchant une lecture hors limites et un plantage du processus Git.

Le CVE‑2026‑105437 cible le calcul de la mémoire nécessaire à un merge. Un dépassement d’entier survient lorsque le résultat attendu dépasse la capacité du type utilisé, entraînant l’allocation d’un tampon sous‑dimensionné et la corruption du tas, affectant les merges de gros ensembles de conflits.

Le CVE‑2026‑114466 étend les vecteurs d’accès fichier du fast‑import. Les options rewrite-submodules-from, rewrite-submodules-to et export-pack-edges pouvaient lire ou écrire des fichiers externes sans le drapeau --allow-unsafe-features, exposant potentiellement le contenu du système de fichiers.

Correctifs et recommandations

Les correctifs remplacent les tableaux à taille fixe par des structures dynamiques, introduisent des vérifications d’overflow sur les allocations d’index et de merge, et valident systématiquement les chemins et les cibles symref avant écriture. Les flux fast‑import rejettent désormais les commandes dangereuses sauf si l’option explicite --allow-unsafe-features est activée.

Les administrateurs doivent mettre à jour leurs installations vers 2.56.1 ou la version rétro‑portée correspondante, puis vérifier que les outils tiers (CI, IDE, scripts d’automatisation) embarquent la version corrigée. En l’absence de mise à jour immédiate, il est recommandé de limiter les clones récursifs aux dépôts de confiance, d’éviter les merges de tags non signés ou contenant plusieurs signatures, et de ne pas traiter de patches binaires ou de flux fast‑import provenant de sources non vérifiées.