导读 程序员兼漏洞猎人 Wiliam “vakzz” Bowling 在 GitLab 平台上发现了一个严重的远程代码执行漏洞,获得了2万美元的奖金。

近日,Bowling 在 HackerOne 漏洞奖励平台上披露了这个漏洞。Bowling 指出,GitLab 用于复制文件的 UploadRewriter 函数是产生该严重问题的源头。

在项目中复制问题 (issue) 时,该函数应检查文件名称和路径。然而,并不存在这种验证检查,从而导致产生可被用于复制任何文件的路径遍历问题。Bowling 指出,如遭利用,该漏洞可被武器化以“读取服务器上的任意文件,包括令牌;非公开数据以及配置信息。”

受该漏洞影响的是 GitLab 实例和 GitLab.com 域名,GitLab 因此在 HackerOne 平台上给出“严重”等级的评估。就在漏洞披露的当天,GitLab 安全团队在解决这个问题的同时决定为 Bowling 颁发1000美元。在解决过程中,Bowling 补充表示,利用任意文件读取 bug 从 GitLab secret_key_base 服务中抓取信息,可导致该问题转变为一个远程代码执行问题。如攻击者将自己的实例 secret_key_base 更改以匹配某个项目,则可操纵 cookie 服务触发 RCE。

GitLab 工程团队复现了该问题。虽然团队注意到攻击者至少得成为项目成员才能利用该漏洞,但GitLab 的一名资深工程师 Heinrich Lee Yu 表示,他们也可仅通过“创建自己的项目/分组的方式实现这个目标”。

该漏洞已在 GitLab 版本12.91 中解决,Bowling 在3月27日获得全部奖励金,而公开报告发布在4月27日。

四个月之前,Bowling 在 GitLab Search API 中发现了一个 bug,可导致将额外的标记注入 git 命令中,有可能导致构造密钥的创建、远程访问和代码执行。GitLab 证实了该问题的存在并颁发1.2万美元的奖励金。

GitLab 安全副总裁 Johnathan Hunt 指出,“非常感谢通过我们的漏洞奖励平台披露漏洞的安全报告提交者们如 vakzz。GitLab 安全团队收到报告后快速修复了该漏洞并在补丁发布30天后将其公开。”

原文来自:https://home.codesafe.cn/#/securityConsultation/details?url=.%2Fstatic%2Fcms%2Fa%2Fnews%2F2020%2F0430%2F401.html

本文地址:https://www.linuxprobe.com/gitlab-rce-bonus.html编辑:薛鹏旭,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/