文章总结: Gogs存在严重的符号链接代码执行漏洞CVE-2025-8110,攻击者利用PutContentsAPI绕过路径验证,实现任意文件覆盖和RCE。全球超50%暴露服务器已被入侵。建议立即禁用开放注册,限制网络访问,监控异常仓库,并等待官方补丁发布。 综合评分: 92 文章分类: 漏洞分析,漏洞POC,应急响应,WEB安全
Gogs符号连接致代码执行漏洞(CVE-2025-8110)全面分析与防护指南
原创
信息安全新动态
信息安全新动态
2025年12月29日 09:01 江西
摘要
Gogs 作为一款流行的自托管 Git 服务,在 2025 年 12 月被披露存在严重的符号连接致代码执行漏洞(CVE-2025-8110)。该漏洞利用 Gogs 对符号链接处理的不当,允许攻击者通过PutContents API绕过先前修复的路径遍历漏洞(CVE-2024-55947),实现任意文件覆盖和远程代码执行。研究表明,全球超过 1400 台暴露在互联网上的 Gogs 服务器中,已有超过 700 台被入侵,入侵率超过 50%。本文将从漏洞原理、利用方法、防护措施等多个维度,为初级安全人员、开发人员、安全工程师和研究人员提供全面的技术分析和实践指导。
一、漏洞概述与影响范围
1. 漏洞基本信息
CVE-2025-8110 是 Gogs 在 2025 年 12 月被披露的一个严重级零日漏洞,由安全研究公司 Wiz 在调查客户服务器感染事件时发现。该漏洞被归类为 “文件更新 API 中的文件覆盖漏洞”,其CVSS v4.0 评分高达 8.7 分,属于高危漏洞。
漏洞的核心在于 Gogs 的 PutContents API 对符号链接处理不当,攻击者能够在 Git 仓库中创建指向外部敏感文件的符号链接,并通过 API 接口将数据写入这些文件。该漏洞的影响范围包括 Gogs 所有版本(0.0.0 到 0.13.3),涉及 Linux 和 Windows 平台。
2.受影响资产规模
根据 Wiz 的安全研究,全球暴露在互联网上的 Gogs 服务器约有1400 台,其中超过 700 台已被入侵,入侵率高达 50% 以上。这些被入侵的服务器具有以下特征:
● 都在2025 年 7 月 10 日同一时间段内创建了随机 8 字符名称的仓库。
● 显示出相同的攻击模式和入侵痕迹。
● 部署了基于SuperShell C2 框架的恶意软件。
3.漏洞发现时间线
该漏洞的发现和披露过程如下:
2025 年 7 月 10 日:Wiz 首次观察到漏洞利用迹象
2025 年 7 月 15 日:在受感染机器上发现 SuperShell 恶意软件
2025 年 7 月 17 日:向 Gogs 维护者报告漏洞
2025 年 10 月 30 日:Gogs 维护者确认漏洞存在
2025 年 11 月 1 日:观察到第二波攻击
2025 年 12 月 10 日:漏洞仍未修复,持续在野利用
截至 2025 年 12 月 11 日,该漏洞已被公开披露,但官方修复补丁仍未发布。
二、漏洞技术原理深度分析
1.漏洞根本原因
CVE-2025-8110 本质上是对CVE-2024-55947的绕过。Gogs 在修复 CVE-2024-55947 时,虽然添加了路径验证来防止目录遍历,但却忽略了对符号链接的验证。
该漏洞的根本原因在于:
● Git 允许符号链接:Git 和 Gogs 都允许在仓库中使用符号链接,这些链接可以指向仓库外部的文件或目录。
●API 未验证符号链接目标:Gogs 的 PutContents API 在写入文件时,没有检查目标文件是否为指向仓库外部的符号链接。
● 路径验证绕过:虽然修复版本验证了路径名以防止目录遍历,但符号链接的使用使得这种验证失效。
2.攻击链分析
漏洞利用的攻击链包括以下步骤:
● 创建恶意仓库:攻击者创建一个标准的 Git 仓库。
● 提交符号链接:在仓库中提交一个指向敏感目标文件的符号链接
● 利用 API 写入:使用 PutContents API 向该符号链接写入数据,系统会跟随链接并覆盖仓库外的目标文件
● 执行恶意命令:通过覆盖.git/config 文件(特别是 sshCommand 配置),攻击者可以强制系统执行任意命令
3.漏洞触发条件
漏洞的触发需要满足以下条件:
● 攻击者权限:需要具有仓库创建权限(这是 Gogs 的默认设置)
●API 访问:能够访问 Gogs 的PutContents API
●服务器配置:Gogs 实例部署在 Linux 或 Windows 系统上
●开放注册:通常需要启用开放注册功能(默认启用)
4.与历史漏洞的对比
Gogs 历史上存在多个类似的漏洞,CVE-2025-8110 与它们的对比如下:
CVE-2025-8110 的独特性在于它是一个 “漏洞绕过漏洞”,利用了 Gogs 在修复 CVE-2024-55947 时的不彻底性,通过符号链接技术绕过了已实施的路径验证机制。
三、漏洞利用技术详解
1.任意文件写入利用
攻击者可以通过创建符号链接并利用 PutContents API 实现任意文件写入。具体步骤如下:
● 创建符号链接:在本地创建一个指向目标文件的符号链接.
● 提交到仓库:将符号链接提交到 Gogs 仓库
● 调用 API 写入:使用 PutContents API 向符号链接写入数据:
其中,content字段是echo “Hacked” >> /etc/passwd的 base64 编码。
2.远程代码执行利用
攻击者通过覆盖.git/config文件中的sshCommand配置来实现远程代码执行。具体步骤如下:
● 创建指向.git/config 的符号链接
● 使用 API 写入恶意配置:
● 触发执行:当仓库所有者通过 SSH 协议执行 clone、pull 等操作时,恶意命令会被执行。
3.恶意软件部署分析
攻击者利用该漏洞部署的恶意软件具有以下特征:
使用 SuperShell 框架:这是一个开源的 C2 平台,主要功能是建立反向 SSH shell
多层混淆:
● 第一层:简单的 UPX 打包
● 第二层:使用 Go 语言编写,使用 garble 工具混淆
● 第三层:包含特定的字符串签名
C2 服务器:连接到119.45.176[.]196等 IP 地址
4.漏洞测试POC 代码
以下是漏洞测试 POC 代码作为参考帮助安全人员检测漏洞:
注意事项:
● 该POC需要在 Linux 环境下运行(因为 Windows 不支持 Linux 符号链接)。
● 需要先在 Gogs 上注册用户并获取访问令牌。
● 目标 Gogs 实例必须启用开放注册功能。
● 建议在测试环境中使用,避免造成实际损害。
四、不同受众的防护指南
1.初级安全人员防护指南
(1)快速识别与应急响应
作为初级安全人员,你需要掌握以下快速识别和应急措施:
识别方法:
● 检查是否存在随机 8 字符名称的仓库(这是入侵的典型特征)
● 查看/etc/passwd文件是否有异常用户添加
● 检查.git/config文件是否被修改,特别是sshCommand配置
● 监控 Gogs 的 API 日志,特别是PutContents API的异常调用
应急措施:
立即禁用开放注册:
● 进入 Gogs 管理界面
● 找到 “启用开放注册” 选项并取消勾选
● 保存配置并重启服务
限制网络访问:
● 将 Gogs 实例从公网移除,仅在内网使用
● 使用 VPN 或 IP 白名单限制访问
● 关闭不必要的端口
临时防护:
● 删除所有可疑的随机命名仓库
● 检查并恢复被修改的系统文件
● 监控系统日志,发现异常立即处理
(2)日常安全检查清单
每周进行一次安全检查:
✓ 检查是否有新增的可疑用户
✓ 检查系统文件的修改时间
✓ 审查 Gogs 的操作日志
✓ 检查 API 访问记录
✓ 确认开放注册状态
2.开发人员防护指南
(1)理解漏洞原理
作为开发人员,你需要深入理解漏洞的技术原理:
● 符号链接的危险性:符号链接是指向其他文件的 “快捷方式”,Gogs 在处理时没有验证其目标位置
● 路径验证的局限性:简单的路径过滤无法阻止符号链接攻击
● API 安全风险:直接使用文件系统函数(如os.WriteFile)可能导致任意文件写入
(2)安全编码实践
在开发类似功能时,应遵循以下安全编码规范:
验证符号链接:
路径规范化:
最小权限原则:
● 确保 Gogs 运行的用户具有最小权限
● 避免以 root 权限运行
● 使用 chroot 或容器技术限制文件系统访问
(3)代码审计要点
在审计代码时,应重点关注:
● 文件上传功能是否验证了文件类型
● API 接口是否有足够的输入验证
● 是否使用了os.WriteFile等危险函数
● 是否处理了符号链接的情况
3.安全工程师防护指南
(1)深度防御策略
作为安全工程师,你需要制定全面的防御策略:
技术防御措施:
网络隔离:
● 将 Gogs 部署在DMZ 区
● 使用 \ 网络访问控制列表(ACL)\ 限制访问
● 仅开放必要的端口(80、443、22)
主机加固:
● 禁用不必要的系统功能
● 启用 SELinux 或 AppArmor
● 限制 Gogs 用户的文件系统访问
应用层防护:
● 部署Web 应用防火墙(WAF)
● 监控 API 访问行为
● 实施速率限制防止暴力攻击
(2)入侵检测系统(IDS)规则
部署以下 IDS 规则来检测漏洞利用:
网络流量检测:
文件系统监控:
● 监控/etc/passwd、/etc/shadow等敏感文件的修改
● 检测.git/config文件的异常写入
● 使用Tripwire等工具进行文件完整性检查
API 行为分析:
● 统计 PutContents API 的调用频率
● 检测异常的文件路径(如包含/etc/、/var/等)
● 识别非标准的文件操作
(3)应急响应流程
制定详细的应急响应流程:
检测阶段:
● 每小时检查一次系统日志
● 使用ELK Stack进行日志分析
● 设置异常行为告警
隔离阶段:
● 立即断开被入侵服务器的网络连接
● 冻结可疑用户账户
● 保存现场证据(内存、磁盘等)
修复阶段:
● 清除恶意软件和后门
● 恢复被修改的系统文件
● 实施安全加固措施
验证阶段:
● 重新测试漏洞是否已修复
● 监控系统是否有异常行为
● 评估损失和影响
五、安全建议与最佳实践
1.临时缓解措施
由于官方修复补丁尚未发布,建议采取以下临时缓解措施:
立即禁用开放注册:
● 这是最有效的临时防护措施
● 阻止未授权用户创建仓库和上传符号链接
限制网络访问:
● 将 Gogs 实例迁移到内网环境
● 使用 VPN 或 SSH 隧道访问
● 配置防火墙规则,只允许特定 IP 访问
监控异常行为:
● 定期检查是否有随机 8 字符名称的仓库创建
● 监控 PutContents API 的调用日志
● 检查系统文件的完整性
账户管理:
● 删除不必要的用户账户
● 限制用户权限,只授予必要的访问权限
● 启用多因素认证(MFA)
2.永久修复方案
等待官方修复期间,可以考虑以下永久修复方案:
手动修复:
● 在internal/database/repo_editor.go中添加符号链接验证逻辑
● 对所有文件操作进行路径验证
● 确保不允许覆盖系统关键文件
升级到安全版本:
● 关注 Gogs 官方发布的安全更新
● 一旦修复补丁发布,立即升级
● 建议升级到 0.13.3 以上版本
架构改进:
● 使用容器化部署,限制文件系统访问
● 实施最小权限原则
● 部署入侵检测系统(IDS)
3.长期安全策略
安全配置基线:
● 制定 Gogs 安全配置标准
● 定期进行安全审计
● 建立变更管理流程
人员培训:
● 对所有使用 Gogs 的人员进行安全培训
● 提高员工的安全意识
● 建立安全事件报告机制
持续监控:
● 部署 \ 安全信息和事件管理(SIEM)\ 系统
● 实施行为分析技术
● 建立威胁情报收集机制
应急预案:
● 制定详细的安全事件响应预案
● 定期进行应急演练
● 建立与安全厂商的合作关系
六、总结
Gogs 符号连接致代码执行漏洞(CVE-2025-8110)是一个极其严重的安全漏洞,具有以下特点:
影响范围广:所有 Gogs 版本(0.0.0 到 0.13.3)都受影响,涉及 Linux 和 Windows 平台
利用难度低:攻击者仅需仓库创建权限即可利用
危害程度高:可实现任意文件覆盖和远程代码执行
在野利用活跃:已有超过 700 台服务器被入侵
随着云计算和 DevOps 的发展,自托管 Git 服务的安全问题将越来越受到关注。Gogs CVE-2025-8110 漏洞的出现,提醒我们需要:
提高安全意识:所有开发和运维人员都应该了解符号链接等基础安全概念
加强技术研究:深入研究各类漏洞的原理和利用方法,开发更有效的防护技术
建立安全生态:通过行业合作,建立完善的安全标准和最佳实践
Gogs 作为一款优秀的自托管 Git 服务,其安全问题需要整个社区共同关注和解决。只有通过持续的安全改进和技术创新,才能为用户提供更加安全可靠的服务。同时,这也提醒我们,在使用任何开源软件时都应该保持警惕,及时关注安全更新,确保系统的安全性。
参考资料
①https://ti.dbappsecurity.com.cn/info/13540
②https://www.venustech.com.cn/new_type/aqtg/20251211/29006.html
③https://app.opencve.io/cve/CVE-2025-8110
④https://forum.butian.net/share/4680
⑤https://seclists.org/oss-sec/2025/q4/262
⑥https://seclists.org/oss-sec/2025/q4/262
声明
转载声明:本平台部分公开资料源于互联网,转载是为传递信息和网络分享,不代表平台观点,也不保证真实性、不提供建议。除原创及特别说明外,推送内容来自网络和主流媒体,版权归原作者。若发现侵权,请联系我们,将尽快核实并删除。
网络安全,人人有责
信息安全新动态
微信号丨ThinventS2
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:信息安全新动态 信息安全新动态《Gogs符号连接致代码执行漏洞(CVE-2025-8110)全面分析与防护指南》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论