GitHub 存在一个设计上的漏洞,允许用户访问已删除的分支、仓库甚至私有仓库的数据,并且这些数据将永久存在。这一问题被称为 Cross Fork Object Reference (CFOR) 漏洞,它发生在一个分支能够访问另一个分支的敏感数据时,包括私有和已删除的分支。用户可以通过提交哈希值直接访问他们本不应看到的提交数据。
例如,即使用户删除了自己的分支,他们提交的代码仍然可以通过原始仓库访问。此外,如果公共上游仓库被删除,GitHub 会将根节点角色重新分配给下游分支,但上游仓库的所有提交仍然存在,并通过任何分支访问。
通过 GitHub 的 API 和事件日志,即使仓库被删除,数据仍然可以被检索。GitHub 的政策文档也明确说明了这种设计。然而,这与用户对私有和公共仓库作为安全边界的普遍看法不符,用户通常认为私有仓库中的数据不会被公开访问。
为了安全地补救在公共 GitHub 仓库中泄露的密钥,唯一的方法是进行密钥轮换。同时,随着秘密扫描技术的发展,我们可能需要更加谨慎地处理不属于我们自己的秘密警报。
#Github #安全
https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github
例如,即使用户删除了自己的分支,他们提交的代码仍然可以通过原始仓库访问。此外,如果公共上游仓库被删除,GitHub 会将根节点角色重新分配给下游分支,但上游仓库的所有提交仍然存在,并通过任何分支访问。
通过 GitHub 的 API 和事件日志,即使仓库被删除,数据仍然可以被检索。GitHub 的政策文档也明确说明了这种设计。然而,这与用户对私有和公共仓库作为安全边界的普遍看法不符,用户通常认为私有仓库中的数据不会被公开访问。
为了安全地补救在公共 GitHub 仓库中泄露的密钥,唯一的方法是进行密钥轮换。同时,随着秘密扫描技术的发展,我们可能需要更加谨慎地处理不属于我们自己的秘密警报。
#Github #安全
https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github