diffpatch Git Hook 在 Gitea 中实现严重远程代码执行
一个严重的远程代码执行(RCE)漏洞,通过滥用 Git 钩子执行,经由 diffpatch API 端点实现任意命令执行。
CVE-2026-60004 是一个影响 Gitea 的**严重远程代码执行(RCE)**漏洞。该缺陷存在于 diffpatch 端点的实现中,特制补丁可在应用补丁期间滥用 Git 的钩子机制。
成功利用该漏洞可让拥有仓库写入权限的已认证攻击者以 Gitea 服务的权限在 Gitea 服务器上执行任意命令。
Gitea 1.27.1
该漏洞源于 POST /api/v1/repos/{owner}/{repo}/diffpatch 端点。
恶意补丁可在补丁处理过程中创建的临时仓库中植入 Git 钩子。当 Git 随后执行仓库操作时,注入的钩子会自动运行,从而在服务器上导致任意命令执行。
攻击者通常需要:
⚠️ 启用公开用户注册的实例面临的风险显著更高。
成功利用该漏洞可能允许攻击者:
攻击者
│
▼
构造恶意 diff 补丁
│
▼
POST /api/v1/repos/.../diffpatch
│
▼
Git 应用补丁
│
▼
安装恶意 Git Hook
│
▼
Git 执行钩子
│
▼
任意命令执行
互联网
│
▼
已认证用户
│
▼
diffpatch API
│
▼
临时 Git 仓库
│
▼
Git 钩子执行
│
▼
远程代码执行
请立即:
diffpatch 请求。调查人员应关注:
/diffpatch 的异常 API 调用| 类别 | 评级 |
|---|---|
| 可利用性 | 🔴 非常高 |
| 影响 | 🔴 严重 |
| 复杂性 | 🟢 低 |
| 公开暴露面 | 🟠 高 |
| 补丁可用性 | ✅ 是 |
✔ 立即升级。
✔ 监控 API 日志。
✔ 限制仓库权限。
✔ 禁用不用的注册功能。
✔ 若怀疑遭受入侵,轮换机密。
✔ 持续监控 Git 钩子完整性。
本仓库仅用于教育、防御和研究目的。
此处提供的信息旨在帮助安全专业人员理解、检测和缓解该漏洞。请勿在未经明确授权的情况下将此信息用于攻击系统。
⭐ 持续关注最新安全公告,并保持软件已修补。
| 指标 | 值 |
|---|
| CVE | CVE-2026-60004 |
| 严重性 | 🔴 严重 |
| CVSS v3.1 | 9.8 |
| 攻击向量 | 网络 |
| 所需权限 | 低(仓库写入权限) |
| 用户交互 | 无 |
| 影响 | 远程代码执行 |
| 属性 | 值 |
|---|
| CWE | 通过 Git 钩子对代码执行的控制不当 |
| 组件 | diffpatch API |
| 利用方式 | 远程 |
| 认证 | 必需 |
| RCE | ✅ 是 |
| 公开 PoC | ✅ 可用 |