GitPython `Remote.pull()` ne vérifie pas le `refspec` positionnel avec son garde-fou contre `–upload-pack`, ce qui peut permettre l’exécution de commandes si une application transmet une valeur contrôlée par un attaquant. Le scénario concerne les transports locaux ou SSH et les versions de GitPython `>= 3.1.30, < 3.2.0` ; mettre à jour vers `3.2.0`.
Source : GHSA-f9j4-qggq-h239 — GitPython
Analyse technique
La vérification des options porte sur les arguments nommés, mais pas sur le `refspec` transmis à `Remote.pull()`. L’exploitation dépend d’un appel applicatif avec un `refspec` influençable et d’un transport local ou SSH.
Impact, versions et correctif
Action recommandée
Mettre à jour GitPython vers 3.2.0 ; ne pas transmettre de `refspec` contrôlé par un utilisateur à `Remote.pull()`.
Sources
Priorisation DFS : P3 · 1 source(s).