聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
安全研究员 Joren Vrancken 发现通过利用 GitHub Pages 构建过程发动代码执行攻击的方法,并因此获得4000美元的奖金。该漏洞是命令注入漏洞。
Vrancken 表示,该漏洞位于 GitHub Pages 中。GitHub Pages 是一款静态托管服务,可从仓库拉取数据、通过构建过程运行代码并发布网站。
代码执行
为梳理上述流程,GitHub Pages 支持 Jekyll 静态站点生成器。
Jekyll 设置存储在YAML配置文件中,而且该服务的某些方面如主题等由 GitHub 负责自动化。在自动化过程中,GitHub 将发布一个POST请求并自动创建新的commit来发布来源变化。
这些过程要求具有管理员权限,且只能指定两个目录(分支和 /docs 的root)。然而,用户输入目录也可在主题选择器URL中指定。
用户可选择一个任意目录用作 GitHub Pages 来源,之后运行 GitHub 任务工作流,包括启动 Jekyll、静态文件部署和页面工件上传。最后,该进程可通过tar命令触发payload,从而导致代码执行后果。
然而,攻击者已经具有管理员权限,因此它并非一个巨大问题。
Vrancken 发现了将该工作流的功能转换为可造成严重后果的方法。如果攻击者想要访问托管在私有库中的代码,他们所需的不过是一个URL和用户交互。
通过构造恶意URL来下载并执行来自第三方来源的脚本,攻击者能够利用钓鱼攻击或其它社工方法诱骗管理员用户点击该链接并按照主题挑选流程,触发恶意payload并暴露仓库。
攻击者仅需支持URL即可,无需GitHub 账户或连接到目标仓库。
Hack The Box-esque 技术
Vrancken 在今年7月27日将自己的研究成果告知GitHub,在同一天得到 GitHub 的回复并在8月2日获得确认。8月23日,GitHub 安全团队删除了主题选择器功能,解决了该问题。
Vrancken 因此获得 GitHub Pro 订阅权利以及4000美元的奖金。
Vrancken 评论称,“它肯定是我参加过的最有意思的漏洞奖励计划之一,因为它结合了多个GitHub 特定的特性以及更多传统的Hack The Box-esque 技术。我全心全意推荐大家参加 GitHub 的漏洞奖励计划。”
GitHub 的产品安全工程总监 Jill Moné-Corallo 回应称,“向我们漏洞奖励计划的每一次漏洞报告提交都是让GitHub 产品和客户更加安全的机会。Joren 的研究成果展示了他们对安全研究的热情,因为像他们一样的研究员,才让我们能够持续看到漏洞奖励计划的价值。”
代码卫士试用地址:https://codesafe.qianxin.com
开源卫士试用地址:https://oss.qianxin.com
推荐阅读
和GitHub 打官司?热门包 SheetJS出走npmjs.com转向自有CDN
原文链接
https://portswigger.net/daily-swig/command-injection-vulnerability-in-github-pages-nets-bug-hunter-4k
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~