文章摘要
文章指出Forgejo存在多处安全漏洞,包括SSRF、认证机制缺陷、信息泄露等问题,作者仅用一个晚上就发现了多个漏洞并组合实现了远程代码执行。虽然RCE需要特定配置条件,但整体安全状况堪忧。作者提到Forgejo虽设有安全政策,但未说明是否已上报漏洞。
文章总结
标题:胡萝卜披露:Forgejo的安全隐患
主要内容: 本文作者在Fedora从Pagure迁移至Forgejo后,对Forgejo的安全状况进行了深入调查。调查结果令人担忧:存在多处SSRF漏洞、缺乏CSP/Trusted-Types防护、JavaScript模板存在缺陷、加密措施不当、认证机制存在疏漏(OAuth2、OTP、会话/访问处理等)、易受DoS攻击、信息泄露普遍存在以及各种TOCTOU问题等。
作者仅用一个晚上的时间就发现了大量漏洞,并将其串联实现了完整的远程代码执行(RCE)、密钥泄露、持久账户访问和OAuth2权限提升等攻击。不过,RCE攻击需要开放注册和特定非默认配置,因此实际危害有限。
尽管Forgejo有明确的安全政策,但鉴于代码库的现状,作者认为很容易找到新的漏洞链。作者选择采用"胡萝卜披露"方式:仅公布关键漏洞的利用结果(经过编辑),以此激励厂商进行全面审计和修复,否则可能面临用户流失的风险。
文末展示了攻击验证结果,包括创建的后门管理员账户和命令执行证明,并提供了相关脚本的哈希值作为验证。
(注:删减了部分技术细节和重复内容,保留了核心问题和披露方式的关键信息)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
对作者态度的批评
- 多位评论者认为作者态度不佳,像是在发泄情绪而非建设性讨论:
- "The author's attitude is so off-putting. What gives?"(dangus)
- "This entire post reads as rage bait... I honesty want a refund"(isodev)
对漏洞披露流程的争议
- 部分用户认为Forgejo的披露流程合理,作者反应过度:
- "The Forgejo disclosure process looked pretty simple... all-caps words are just making sure you know how to disclose safely"(dangus)
- "They’re mad because Forgejo has … a process?"(isodev)
对漏洞真实性的质疑
- 评论者指出作者未充分证明远程执行漏洞(RCE),本地脚本测试缺乏说服力:
- "Show us the exploit hitting a remote server"(dangus)
- "Did the author actually disclose this RCE or just open random PRs?"(flumpcakes)
对代码库维护的讨论
- 有观点认为维护者对安全问题的处理存在风险:
- "Linux kernel seems to disagree. This is a dangerously naive way..."(unethical_ban)
- 但另一派认为作者提交的PR(如OAuth改进)需更多讨论(jorams)
对"胡萝卜式披露"的担忧
- 有评论指出部分披露可能被AI工具逆向还原:
- "carrot disclosure is potentially a full disclosure with extra steps... I could use codex to reproduce"(gchamonlive)
对开源协作的反思
- 批评作者行为不符合开源精神:
- "Imagine if every open source contributor behaved like that..."(kasdklasmdads)
- 引用密码学寓言暗示作者应更专业(preinheimer)
用户实例部署建议
- 实用建议:Forgejo适合内网使用:
- "wouldn't dream of opening it up to the public. Works great on lan"(throwaway38294)
总结:评论呈现两极分化,核心争议围绕作者披露方式的有效性与态度问题,同时涉及对Forgejo安全策略和代码维护的深层讨论。