????:GitLab是一個(gè)利用Ruby on Rails開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個(gè)自托管的Git項(xiàng)目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項(xiàng)目。2016年11月3日,美國(guó)眾測(cè)平臺(tái)HackerOne公布了GitLab的目錄遍歷漏洞。漏洞的發(fā)現(xiàn)者為Jobert Abma,同時(shí)表示該漏洞可導(dǎo)致遠(yuǎn)程命令執(zhí)行。漏洞預(yù)覽從GitLab 8.9開始,GitLab允許用戶導(dǎo)入或者導(dǎo)出他們的TAR文件。在8.13.
GitLab是一個(gè)利用Ruby on Rails開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個(gè)自托管的Git項(xiàng)目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項(xiàng)目。2016年11月3日,美國(guó)眾測(cè)平臺(tái)HackerOne公布了GitLab的目錄遍歷漏洞。漏洞的發(fā)現(xiàn)者為Jobert Abma,同時(shí)表示該漏洞可導(dǎo)致遠(yuǎn)程命令執(zhí)行。
漏洞預(yù)覽
從GitLab 8.9開始,GitLab允許用戶導(dǎo)入或者導(dǎo)出他們的TAR文件。在8.13.0版本之前,這個(gè)功能是只有管理員才可以使用。8.13.0版本之后,這個(gè)功能開放給的用戶進(jìn)行使用,只要有管理員許可。由于GitLab沒有檢查符號(hào)鏈接(symlinks),因此經(jīng)過身份驗(yàn)證的用戶可以檢索任何GitLab賬戶中的文件,甚至是secret tokens等敏感信息。因?yàn)樵撀┒纯梢栽L問到secret tokens,有了secret后,cookie可以在GitLab中被marshalled和resigned,所以該漏洞又可以導(dǎo)致遠(yuǎn)程命令執(zhí)行。
漏洞編號(hào)
CVE-2016-9086。
影響版本
8.13.0至8.13.2
8.12.0至8.12.7
8.11.0至8.11.9
8.10.0至8.10.12
8.9.0至8.9.11
修復(fù)方式
GitLab官方強(qiáng)烈建議所有的用戶請(qǐng)立刻對(duì)自己的GitLab進(jìn)行升級(jí)。但是注意,版本號(hào)為8.9.0至8.9.11并沒有相關(guān)補(bǔ)丁。如果沒有辦法進(jìn)行升級(jí),或者無修復(fù)補(bǔ)丁,可以采取以下方法修補(bǔ)該漏洞。
1.選擇Admin Area
2.點(diǎn)擊settings
3.在import sources下面關(guān)閉GitLab export這個(gè)選項(xiàng)
4.點(diǎn)擊save
驗(yàn)證修復(fù)
1.首先在瀏覽器登陸任意GitLab賬號(hào)
2.點(diǎn)擊Projects
3.點(diǎn)擊New Project創(chuàng)建一個(gè)項(xiàng)目
4.輸入任意項(xiàng)目名稱
5.如果里面沒有出現(xiàn)GitLab export,那么就表示漏洞已經(jīng)修復(fù)