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