GitLab向报告远程代码执行漏洞的研究员奖励2万美元

  GitLab向报告自家平台的严重远程代码执行漏洞的安全研究人员奖励了2万美元。该漏洞由William"vakzz"Bowling发现,Bowling既是一名程序员同时也是Bug赏金猎人,他于3月23日通过HackerOneBug赏金平台私密披露了该漏洞。

  Bowling表示,GitLab的UploadsRewriter函数用于拷贝文件,而这正是此次严重安全问题的源头。当issue被用于跨项目复制时,UploadsRewriter函数会检查文件名和补丁。然而在这过程中由于没有验证检查,导致出现路径遍历问题,这可能会被利用于复制任何文件。

  根据Bug赏金猎人的说法,如果漏洞被攻击者利用,则可能会被用于"读取服务器上的任意文件,包括token、私有数据和配置"。GitLab实例和yuhou.cn域均受到该漏洞的影响,此漏洞被HackerOne判定为严重等级程度。

  Bowling补充到,通过使用任意文件读取漏洞从GitLab的secret_key_base服务中抓取信息,可以将该漏洞变成远程代码执行(RCE)攻击。举例来说,如果攻击者改变了自己实例的secret_key_base以匹配项目,那么cookie服务也可以被操纵以用于触发RCE攻击。

  Bowling将漏洞发送给了GitLab安全团队,工程师们重现了此问题,并指出攻击者至少需要成为项目成员才能利用该漏洞,但根据GitLab高级工程师HeinrichLeeYu的说法,攻击者也可以"创建自己的项目或组别来达到同样的目的"。

  目前,该漏洞已经在GitLab12.9.1版本中得到了解决,安全研究人员Bowling也于3月27日获得了全额赏金。