
CVE-2024-21533 PoC ggit
ggit se décrit comme suit :
Local promise-returning git command wrappers
Ressources :
Article détaillé sur cette vulnérabilité d'injection d'arguments : https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
Je signale une vulnérabilité d'injection d'arguments dans le paquet npm ggit.
Cette vulnérabilité se manifeste avec l'API clone() de la bibliothèque,
qui permet de spécifier l'URL distante à cloner et le fichier sur disque vers lequel cloner.
Cependant, la bibliothèque ne neutralise pas les entrées utilisateur ni ne valide un schéma d'URL donné,
et elle ne transmet pas correctement les options de ligne de commande au binaire git en utilisant les caractères POSIX à double tiret (--) pour indiquer la fin des options.
Ainsi, permettant aux utilisateurs d'exploiter une vulnérabilité d'injection d'arguments dans Git en raison de l'option de ligne de commande --upload-pack qui entraîne l'exécution de commandes arbitraires. (outPath) pour cloner vers celui-ci, la vulnérabilité s'applique.
[email protected] ou une version antérieureconst clone = require("ggit").cloneRepo;
clone({
url: "--upload-pack=$(touch /tmp/pwned)",
folder: "/tmp/dbd",
}).then(function () {
console.log("cloned repo to destination folder");
});
/tmp/pwnedVeuillez consulter CONTRIBUTING pour les directives relatives à la contribution à ce projet.
Liran Tal