同样一份安全报告,研究员说“赶紧修”,维护者却已读不回。你信谁?
Jonah Burges是信息安全公司Rapid7的高级安全研究员,他在周四公开了一个未修复的零日漏洞细节。这个漏洞存在于开源自托管Git服务Gogs中,攻击者可以利用它拿到服务器的远程代码执行权限。Burges说他3月17日就报了漏洞,Gogs维护团队3月28日确认收到,之后就再也没有任何回复。没有补丁,没有状态更新,没有预计修复时间。
![]()
Gogs是用Go语言写的,定位是GitHub Enterprise或GitLab的替代品。不少团队把它部署在公网上做远程协作。问题就出在这里。
这个漏洞目前没有CVE编号,影响范围包括最新版Gogs 0.14.2以及0.15.0开发版。它本质上是一个参数注入漏洞,属于严重级别。攻击路径需要认证,但不要求管理员权限,普通注册用户就能完成整个利用链。Burges强调,这基本等于所有采用默认配置的Gogs服务器都受影响。
为什么一个要登录才能打的漏洞,影响范围还这么大?Burges把逻辑拆得很清楚:Gogs默认开启开放注册,也就是DISABLE_REGISTRATION参数默认设为false;同时默认不限制仓库创建数量,MAX_CREATION_LIMIT的默认值是-1。这意味着任何一个不怀好意的人,都可以随便注册一个账号,建一个仓库,然后——由于任何注册用户创建仓库后自动成为该仓库的所有者——只需要在设置里把“变基合并”功能打开,开一个开关的事,整个漏洞利用就不需要其他用户做任何操作。
关键的技术细节在这里:攻击者在发起拉取请求时,使用精心构造的恶意分支名称。当代码审核者选择“变基后合并”进行合并操作时,这个分支名会把“--exe”c参数注入到git rebase命令中。最终结果是,攻击者可以以Gogs服务器进程用户的身份,远程执行任意代码。
![]()
拿到这个权限以后能干什么?Burges列了一张清单:可以彻底控制服务器本身,可以读取该实例上所有仓库的代码,包括其他用户的私有仓库;可以导出凭据信息,密码哈希、API令牌、SSH密钥、双因素认证密钥,全部暴露;可以从这台服务器横向移动去攻击网络里其他可达系统;还可以随意篡改任意托管仓库里的代码。这五个后果,哪一个都够运维团队喝一壶的。
Burges还特别指出了一点:这个漏洞和过去几年Gogs修过的几个参数注入漏洞很像,比如CVE-2024-39933、CVE-2024-39932、CVE-2026-26194、CVE-2024-39930,但这次出问题的是另一个从没被修补过的代码路径,叫Merge()。同一个坑,不同的入口,踩了一遍又一遍。
互联网安全监控组织Shadowserver的数据显示,目前全球有超过2400台Gogs服务器直接暴露在公网上,其中亚洲占了1894台,欧洲319台。另一个搜索引擎Shodan也检测到超过1000个带有Gogs指纹的IP地址。这些数字不一定完全重叠,但能说明公开暴露的规模不小。
这不是Gogs第一次因为零日漏洞被盯上。去年12月初,Gogs安全团队刚修了一个远程代码执行漏洞CVE-2025-8110,当时那个漏洞已经被用于零日攻击,打掉了数百台服务器。Wiz安全研究团队在调查一台被入侵的公网Gogs服务器时发现了那个漏洞,他们在7月报给Gogs维护者。Wiz的研究员当时就警告过:“很多Gogs实例都配置了默认开启的开放注册,这直接制造了巨大的攻击面。”
半年过去了,同样的问题,同样的默认配置,不同的代码路径,再次把数千台服务器推到风口浪尖。而这个漏洞的发现者还在等一个回复。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.