GitLab 任意文件讀取漏洞
  • CNNVD編號(hào):未知
  • 危害等級(jí): 高危 
  • CVE編號(hào):CVE-2021-22201
  • 漏洞類型: 任意文件讀取
  • 威脅類型:遠(yuǎn)程
  • 廠       商:未知
  • 漏洞來(lái)源:深信服
  • 發(fā)布時(shí)間:2021-06-08
  • 更新時(shí)間:2021-06-08

漏洞簡(jiǎn)介

組件介紹

GitLab是由GitLabInc開(kāi)發(fā),使用MIT許可證的基于網(wǎng)絡(luò)的Git倉(cāng)庫(kù)管理工具,具有issue跟蹤功能。它使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來(lái)的web服務(wù)。

2、漏洞描述

2021年6月4日,深信服安全團(tuán)隊(duì)監(jiān)測(cè)到一則GitLab組件存在任意文件讀取漏洞的信息,漏洞編號(hào):CVE-2021-22201,漏洞威脅等級(jí):中危。

該漏洞是由于json-schema 在拋出另一個(gè)異常事件之前嘗試再次打開(kāi)文件,這使得攻擊者能夠讀取服務(wù)器上的任意文件,若GitLab托管在云服務(wù)上,則可以更進(jìn)一步造成遠(yuǎn)程代碼執(zhí)行,獲得服務(wù)器最高權(quán)限。

3、漏洞復(fù)現(xiàn)

搭建GitLab組件13.9.3-CE版本環(huán)境,復(fù)現(xiàn)該漏洞,效果如下:

漏洞公示

補(bǔ)丁分析

補(bǔ)丁只去掉了initialize_data函數(shù)中的部分異常處理代碼。捕獲 JsonParseError 異常后,json-schema 在拋出另一個(gè)異常事件之前嘗試再次打開(kāi)文件。這種處理冗余的方式使攻擊者能夠讀取服務(wù)器上的任意文件。

參考網(wǎng)站

暫無(wú)

受影響實(shí)體

GitLab 可以運(yùn)行在幾乎所有計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,成為最流行的倉(cāng)庫(kù)管理系統(tǒng)項(xiàng)目之一。全球有數(shù)十萬(wàn) GitLab 云托管服務(wù)器,可能受漏洞影響的資產(chǎn)廣泛分布于世界各地,中國(guó)大陸省份中,浙江、廣東、山東、北京、上海等省市位于前列。


目前受影響的GitLab版本:

13.9.0  ≤ GitLab < 13.9.5 

補(bǔ)丁

1、如何檢測(cè)組件系統(tǒng)版本

右上角找到help,點(diǎn)擊選擇欄中的“幫助”,即可看到版本信息。

2、官方修復(fù)建議

當(dāng)前官方已發(fā)布最新版本,建議受影響的用戶及時(shí)更新升級(jí)到最新版本。鏈接如下:

https://about.gitlab.com/releases/2021/03/31/security-release-gitlab-13-10-1-released/