感谢 GitHub 的 $617 欢乐赞助(误)
内容提要
GitHub用户通过GitHub的Mention suggester API发现隐私漏洞,API泄露私有所有者信息。用户报告并获得奖励$617。GitHub确认并修复漏洞,用户最终获得$615奖金。
延伸解读
漏洞触发条件:No permission 设置
文章指出,当组织将 Member privileges 中的 Base permissions 设置为 No permission 时,Mention suggester API 会错误地列出所有 Private Owner。这与默认设置(入 org 即送全 org 范围 read 权限)不同,后者不会触发漏洞。作者通过新建组织并设置 No permission 成功复现,确认了该条件。
漏洞影响:私有所有者信息泄露
该漏洞导致本应隐藏的 Private Owner 账号被暴露。在公开仓库中 @ 时,Mention suggester 会返回这些账号,可能被外部人员发现。作者实验发现,saveweb 组织因采用 No permission 和 Team 细粒度权限而受影响,而其他组织如非生物组织则未泄露。
报告与修复过程
作者于 2024 年 6 月 10 日通过 HackerOne 向 GitHub 报告漏洞,GitHub 在 6 月 17 日确认,6 月 19 日回复称因低风险修复较慢,并给予 617 美元赏金。漏洞最终被修复,作者实际收到 615 美元(扣除 2 美元电汇手续费),还获得了 Octoplush 吉祥物。
Q&A
GitHub的Mention suggester API是什么?
Mention suggester API是GitHub的一个功能,旨在建议用户在提及其他用户时显示相关的公共所有者和活跃维护者。
用户是如何发现GitHub的隐私漏洞的?
用户通过在GitHub上@了一个内部bot账号,意外发现Mention suggester API泄露了私有所有者信息。
用户报告漏洞后获得了什么奖励?
用户报告漏洞后获得了$617的奖励,最终实际收到$615。
GitHub对漏洞的修复进度是怎样的?
GitHub确认漏洞后表示由于风险较低,修复进度较慢。
用户在报告漏洞的过程中还获得了什么额外奖励?
用户在报告过程中还获得了一个Octoplush吉祥物作为额外奖励。
Mention suggester API为什么会泄露私有所有者信息?
由于用户的组织设置为没有权限,导致Mention suggester API错误地列出了本应隐藏的私有所有者。