关键漏洞信息 严重漏洞: 防止在评估模板存储库时向存储库外的符号链接目的地写入 CVSS 分数: 9.5 严重 修复措施: 已提供补丁 详细描述: 当创建基于模板存储库的存储库时,Forgejo 会读取模板存储库文件的内容、扩展文件内容中的变量,并为新创建的存储库写入新文件。如果模板存储库文件是链接到存储库外文件的符号链接,Forgejo 会跟随该符号链接来读取、扩展内容并写入符号链接的目标。 中等漏洞: 防止 .forgejo/template 从存储库外的内容生成 CVSS 分数: 6.9 中等 修复措施: 已提供补丁 详细描述: 在基于模板存储库创建存储库时,Forgejo 会读取存储库中 .forgejo/template 文件的内容以确定要模板化的文件。如果该文件是链接到存储库外文件的符号链接,Forgejo 会跟随该符号链接读取该文件。可以通过沙箱文件访问到新创建的存储库内,防止任何已知符号链接或路径遍历攻击。 中等漏洞: 如果无法解析 LFS 令牌返回错误 CVSS 分数: 6.3 中等 修复措施: 已提供补丁 详细描述: 如果在一个启用了 LFS 的 Forgejo 实例上,同时 [server].LFS_START_SERVER = true(这并非默认设置),则用户可以下载他们事前知道 OID 的私有存储库的 LFS 文件,即使他们没有读取权限。这通过在 LFS 令牌无效时返回错误而不是返回不一致的状态来修复。 低等漏洞: 确保在有效 GPG 签名提交时承诺 API 不会泄露用户的隐藏电子邮件地址 CVSS 分数: 2.3 低等 修复措施: 已提供补丁 详细描述: 当通过 /repos/{owner}/{repo}/git/commits/{sha} API 访问签名的 GPG 提交时,验证提交的作者是通过 commit.verification.signer.email 字段暴露其主电子邮件地址,这违反了作者希望保持电子邮件地址私密的意愿。这已经通过返回签名者身份而非账户私有电子邮件地址来修复,这与 Git 存储库中存储内容一致且由 git log 返回。