
Exploit de prova de conceito para CVE-2024-21533, uma vulnerabilidade de injeção de argumentos no pacote npm ggit que permite execução arbitrária de comandos através da opção Git --upload-pack.
ggit descreve-se como:
Local promise-returning git command wrappers
Recursos:
Artigo sobre esta vulnerabilidade de injeção de argumento: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
Estou reportando uma vulnerabilidade de Injeção de Argumento no pacote npm ggit.
Esta vulnerabilidade manifesta-se com a API clone() da biblioteca,
que permite especificar a URL remota para clonar e o arquivo em disco para clonar.
No entanto, a biblioteca não sanitiza a entrada do usuário nem valida um esquema de URL fornecido,
nem passa adequadamente os flags de linha de comando para o binário git usando os caracteres
POSIX de travessão duplo (--) para comunicar o fim das opções.
Assim, permitindo que usuários explorem uma vulnerabilidade de injeção de argumento no Git devido à
opção de linha de comando --upload-pack que resulta na execução de comandos arbitrários.
(outPath) para clonar e então a vulnerabilidade se aplica.
[email protected] ou anteriorconst clone = require("ggit").cloneRepo;
clone({
url: "--upload-pack=$(touch /tmp/pwned)",
folder: "/tmp/dbd",
}).then(function () {
console.log("cloned repo to destination folder");
});
/tmp/pwnedPor favor, consulte CONTRIBUTING para diretrizes sobre como contribuir com este projeto.
Liran Tal