Gogs 严重漏洞长期未修复,开源项目局限性引发关注

开源Git服务Gogs被发现一个严重的参数注入漏洞,允许任意已认证用户通过恶意分支名在合并操作中远程执行代码。Rapid7在两个多月前首次报告该漏洞,但Gogs维护者始终未作回应。目前漏洞仍未修复,攻击者可借此获取源代码读写权限、窃取凭据并发动供应链攻击。安全专家建议相关组织立即限制Gogs网络访问并禁用用户自助注册,此事件也再次暴露了小型维护者开源项目在安全响应上的固有局限。

开源 Git 服务平台 Gogs 近期被发现存在一个严重漏洞,目前尚未得到修补,这不仅迫使开发者必须立即采取行动保护代码安全,同时也将使用小型维护者所提供的自托管代码平台的潜在风险推到了聚光灯下。

此次发现的是一个严重的参数注入漏洞,由 Rapid7 的一名研究员找到。该漏洞允许任何已认证用户,在合并操作中通过创建含有恶意分支名称的拉取请求,在 Gogs 服务器上远程执行任意代码。

Rapid7 于今日正式发布了对该漏洞的分析报告。此前,该公司在两个多月前首次上报此漏洞后,Gogs 的维护者既未回复进展询问,也未接受推迟披露的提议,这才促使 Rapid7 决定公开披露。

Rapid7 员工安全研究员 Ryan Emmons 在邮件中表示:"这是一个严重漏洞,影响的软件通常不会直接暴露在公共互联网上。Gogs 一般用于内部场景,最典型的威胁模型是:攻击者在已渗透内部网络的情况下,利用该漏洞获取 Gogs 服务器上代码仓库的读写权限,进而悄无声息地篡改源代码,或窃取用户密码哈希、专有软件等敏感信息。"

安全意识培训机构 Beauceron Security 的负责人 David Shipley 表示,Gogs 维护者和开发者都必须迅速采取防御措施,因为漏洞一旦公开,"那些此前不知情的攻击者会立即猛烈跟进"。

他还补充说,漏洞在截至本周四下午仍未被修补,是 CSO 和开发者更倾向于选择 GitHub 的另一个原因——对任何开源项目来说,补丁能否发布、何时发布,始终是一个隐患。

Rapid7 在报告中指出:"该漏洞的利用不需要管理员权限,也不需要与其他用户交互,攻击者完全在自己的账户范围内操作。由于 Gogs 默认启用了开放注册(DISABLE_REGISTRATION = false),且不限制仓库创建数量(MAX_CREATION_LIMIT = -1),未认证的攻击者只需在任何默认配置的实例上注册账户并创建仓库即可。任何注册用户创建仓库后会自动成为其拥有者。此后,只需在设置中打开 Rebase 合并开关,整个漏洞利用链便无需借助其他用户的任何操作即可完成。"

此外,任何对已启用 Rebase 合并的仓库拥有写权限的用户,均可直接利用该漏洞。即便在限制创建仓库的实例中,攻击者也只需获得任何一个支持或可开启 Rebase 合并的仓库的写权限即可。

一旦漏洞被利用,不仅 Gogs 服务器本身将面临被攻陷的风险,由此还可能引发跨租户数据泄露、凭证盗取、在企业内网中的横向渗透,以及通过被攻陷的 Gogs 平台上正在开发的代码发动软件供应链攻击。

Emmons 建议,在补丁发布之前,已在组织内部部署 Gogs 的开发者和 CSO 应严格限制对 Gogs 的网络访问权限,确保只有必要人员才能使用该应用。此外,如果尚未禁用用户自助注册功能,应立即关闭,新用户账户的创建权限应仅限于管理员。

据 Rapid7 介绍,Gogs 是一款用 Go 语言编写的轻量级自托管 Git 服务,可运行在 Go 工具链支持的任意平台上,包括 Linux、macOS、Windows 以及基于 ARM 的系统。它是目前较为流行的、可替代微软旗下 GitHub 的自托管方案之一,广泛被企业、高校和开源项目所采用。

其他面向开发者的自托管 Git 服务还包括 GitLab 社区版、Gitea、Forgejo(Gitea 的一个分叉项目)以及 Atlassian 的 Bitbucket Data Center。

开源工具聚合平台 Open Source Alternatives 本月早些时候在一篇博客中指出,开发者选择自托管 Git 服务器是为了规避 GitHub 宕机的风险,并称"当 GitHub 出现故障时,你的仓库依然在线,GitHub Actions 的分钟数账单也随之消失,源代码始终不会离开你自己的服务器"。

Emmons 表示,Gogs 之所以受到欢迎,在于它是一款轻量且高度自包含的 Git 解决方案,部署运维简单,与许多需要大量运维投入的 Git 服务器相比,管理成本极低。作为本地自托管软件,它非常适合那些出于各种原因不愿或不能将源代码存放于云端的团队。

他总结说:"Gogs 最大的优势在于运维简单,它能将该做的事做好,也不需要耗费太多管理精力。但最大的隐患也在这次披露事件中得到了印证——Gogs 是一款由热心人士在业余时间维护的开源软件,其背后的开发者缺乏大型企业信息安全团队的支持。这意味着安全问题有时会以一种在资金充足的商业产品中不会出现的方式暴露出来。"

Q&A

Q1:Gogs 存在的严重漏洞具体是什么?会造成哪些危害?

A:Gogs 被发现存在一个严重的参数注入漏洞,允许已认证用户通过创建含有恶意分支名称的拉取请求,在服务器上远程执行任意代码。一旦被利用,可能导致服务器被攻陷、跨租户数据泄露、凭证盗取、内网横向渗透,甚至引发软件供应链攻击。目前该漏洞尚未修复。

Q2:在 Gogs 漏洞补丁发布之前,开发者应该怎么做?

A:Rapid7 建议采取以下临时防护措施:严格限制对 Gogs 的网络访问权限,确保只有必要人员才能访问该应用;立即禁用用户自助注册功能(将 DISABLE_REGISTRATION 设为 true);将新建用户账户的权限收归管理员统一管理,避免未经授权的用户利用漏洞发动攻击。

Q3:Gogs 漏洞长期未修复,反映了开源项目哪些局限性?

A:此次事件暴露了小型开源项目在安全响应能力上的不足。Gogs 由志愿者在业余时间维护,缺乏企业级安全团队的支持,导致漏洞上报两个多月后仍未得到任何回应。安全专家指出,这正是许多 CSO 和开发者更倾向于选择 GitHub 等有大型企业背书平台的重要原因之一。

来源:InfoWorld

0赞

好文章,需要你的鼓励

2026

06/03

15:09

分享

点赞

邮件订阅