技术编辑:王治治丨发自 猫爬架
SegmentFault 思否报道丨公众号:SegmentFault
近日,GitLab 向一名网络安全研究人员向其报告了一个严重的远程代码执行漏洞,颁发了 20,000 美元的奖金。
虽然钱看起来并不是特别多,但根据漏洞反馈者的说法,如果该漏洞被攻击者发现,可能会被利用来"读取 GitLab 服务器上的任意文件,包括令牌、私有数据、和配置"。
这个漏洞是由程序员兼「Bug 赏金猎人」William "vakzz "Bowling 发现,并于 3 月 23 日通过 HackerOne bug 赏金平台私下披露了该漏洞。
Bowling 表示,GitLab 用来复制文件的 UploadsRewriter函数,是这个关键安全问题的源头。
当问题被跨项目复制时,该函数应该检查文件名和路径。但是并没有进行验证检查,导致路径遍历问题,可以被利用来复制任何文件。
根据bug bounty hunter的说法,如果被攻击者利用,该漏洞可能会被利用来 "读取服务器上的任意文件,包括令牌、私有数据、和配置"。
GitLab instances 和 GitLab.com 域均受到了该漏洞的影响,影响程度在 HackerOne 上被评为「临界等级」。
在披露的同一天,GitLab 安全团队决定在进行分流的同时,给予 Bowling 1000 美元的奖励。
在分流过程中,Bowling 补充说,通过使用任意文件读取漏洞从 GitLab 的 secret_key_base 服务中抓取信息,可以将该问题变成远程代码执行(RCE)攻击。如果攻击者改变了自己的实例 secret_key_base 以匹配项目,那么 cookie 服务也可以被操纵来触发 RCE。
该漏洞被发送给了 GitLa b的工程团队,他们重现了这个问题。虽然该团队指出,攻击者需要是项目成员才能利用该漏洞,但根据 GitLab 高级工程师 Heinrich Lee Yu 的说法,他们也可以简单地 "创建自己的项目/组来完成这个任务"。
目前该漏洞已在 GitLab 12.9.1 版本中得到解决,研究人员已于 3 月 27 日发放了 20,000 美元的全额悬赏。并于 4 月 27 日公布了公开报告。
四个月前,同样是 Bowling 披露了 GitLab 的搜索 API 中的一个漏洞,该漏洞允许在 git 命令中注入额外的标志,可能会导致创建伪造的密钥、远程访问和代码执行。GitLab 承认了这个问题,并对 Bowling 的关键 bug 报告给予了 12000 美元的奖励。
随着网络安全形势的愈发严峻,各大科技厂商纷纷公开招募「Bug 赏金猎人」。苹果今年就将赏金上限从 200,000 美元提高到 1,500,000 美元。年初时微软也曾推出 Xbox Bug 漏洞赏金计划,奖励高达 20000 美元。为了进一步提高移动设备系统安全性,谷歌也扩大了其 Android Bug 赏金计划,最高可获 150 万美元。
虽然这个钱可能不比利用漏洞或者出售漏洞赚到的钱更多,但至少花的舒坦还能成为一名「正面人物」啊~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。