GitHub 严重漏洞导致4000多个仓库易遭repojacking攻击
编译:代码卫士
Checkmarx 公司的安全研究员 Elad Rapoport 在一份技术报告中提到,该漏洞“可导致攻击者利用GitHub 仓库创建和用户名重命名操作中的条件竞争”,“成功利用该漏洞可导致多种语言如 Go、PHP和Swift 以及 GitHub 操作中的4000多个代码包遭劫持”。
GitHub在2023年3月1日收到负责任的披露后,在9月1日修复了该问题。
Repojacking 即仓库劫持,指威胁者能够绕过名为“流行仓库名称空间退出”机制,最终控制仓库。该防御措施的目的是阻止其它用户创建与用户账户更名时克隆超过100个的仓库名称一样的仓库,也就是说用户名和仓库名称的组合被视作“退出”。如果该机制被轻松绕过,则可导致威胁者创建具有相同用户名的账户并上传恶意仓库,从而导致软件供应链攻击。
研究人员利用参控股创建和用户名更名之间的潜在条件竞争实现了仓库劫持。具体步骤如下:
1、受害者拥有名称空间 “victim_user/repo”
2、受害者将 “victim_user”更名为 “renamed_user”
3、“victim_user/repo” 仓库退出。
4、拥有 “attacker_user” 的威胁者同时创建名为 “repo” 的仓库并将用户名 “attacker_user” 更名为 “victim_user”.
最后一步使通过仓库创建的API请求以及用户名变更的 renamed 请求拦截实现的。近9个月前,GitHub 修复了一个类似的可导致仓库劫持攻击的类似绕过漏洞。
研究人员指出,“GitHub 仓库创建和用户名更名操作中这类新漏洞的发现说明了与‘流行仓库名称空间退出’机制相关联的持久风险”。
GitHub 提醒 Lazarus 黑客组织利用恶意项目攻击开发人员
Linux 内核漏洞虚假 PoC 发 GitHub,专门攻击研究员
https://thehackernews.com/2023/09/critical-github-vulnerability-exposes.html
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。