
CVE-2024-21533 PoC ggit
ggit si descrive così:
Local promise-returning git command wrappers
Risorse:
Articolo su questa vulnerabilità di argument injection: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
Segnalo una vulnerabilità di Argument Injection nel pacchetto npm ggit.
Questa vulnerabilità si manifesta con l'API clone() della libreria, che consente di specificare l'URL remoto da clonare e il file su disco in cui clonare. Tuttavia, la libreria non sanifica l'input dell'utente né valida lo schema dell'URL fornito, e non passa correttamente i flag della riga di comando al binario git usando i caratteri POSIX del doppio trattino (--) per comunicare la fine delle opzioni.
Pertanto, consentendo agli utenti di sfruttare una vulnerabilità di argument injection in Git dovuta all'opzione della riga di comando --upload-pack, che comporta l'esecuzione di comandi arbitrari. (outPath) in cui clonarlo, quindi la vulnerabilità si applica.
[email protected] o versioni precedenticonst clone = require("ggit").cloneRepo;
clone({
url: "--upload-pack=$(touch /tmp/pwned)",
folder: "/tmp/dbd",
}).then(function () {
console.log("cloned repo to destination folder");
});
/tmp/pwnedConsulta CONTRIBUTING per le linee guida su come contribuire a questo progetto.
Liran Tal