GitLab 向報(bào)告遠(yuǎn)程代碼執(zhí)行漏洞的研究員獎(jiǎng)勵(lì) 2 萬(wàn)美元
GitLab 向報(bào)告自家平臺(tái)的嚴(yán)重遠(yuǎn)程代碼執(zhí)行漏洞的安全研究人員獎(jiǎng)勵(lì)了 2 萬(wàn)美元。該漏洞由 William "vakzz" Bowling 發(fā)現(xiàn),Bowling 既是一名程序員同時(shí)也是 Bug 賞金獵人,他于3月23日通過(guò) HackerOne Bug 賞金平臺(tái)私密披露了該漏洞。
Bowling 表示,GitLab 的 UploadsRewriter 函數(shù)用于拷貝文件,而這正是此次嚴(yán)重安全問(wèn)題的源頭。當(dāng) issue 被用于跨項(xiàng)目復(fù)制時(shí),UploadsRewriter 函數(shù)會(huì)檢查文件名和補(bǔ)丁。然而在這過(guò)程中由于沒(méi)有驗(yàn)證檢查,導(dǎo)致出現(xiàn)路徑遍歷問(wèn)題,這可能會(huì)被利用于復(fù)制任何文件。
根據(jù) Bug 賞金獵人的說(shuō)法,如果漏洞被攻擊者利用,則可能會(huì)被用于"讀取服務(wù)器上的任意文件,包括 token、私有數(shù)據(jù)和配置"。GitLab 實(shí)例和 GitLab.com 域均受到該漏洞的影響,此漏洞被 HackerOne 判定為嚴(yán)重等級(jí)程度。
Bowling 補(bǔ)充到,通過(guò)使用任意文件讀取漏洞從 GitLab 的 secret_key_base 服務(wù)中抓取信息,可以將該漏洞變成遠(yuǎn)程代碼執(zhí)行(RCE)攻擊。舉例來(lái)說(shuō),如果攻擊者改變了自己實(shí)例的 secret_key_base 以匹配項(xiàng)目,那么 cookie 服務(wù)也可以被操縱以用于觸發(fā) RCE 攻擊。
Bowling 將漏洞發(fā)送給了 GitLab 安全團(tuán)隊(duì),工程師們重現(xiàn)了此問(wèn)題,并指出攻擊者至少需要成為項(xiàng)目成員才能利用該漏洞,但根據(jù) GitLab 高級(jí)工程師 Heinrich Lee Yu 的說(shuō)法,攻擊者也可以"創(chuàng)建自己的項(xiàng)目或組別來(lái)達(dá)到同樣的目的"。
目前,該漏洞已經(jīng)在 GitLab 12.9.1 版本中得到了解決,安全研究人員 Bowling 也于3月27日獲得了全額賞金。