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