您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何進行GitLab任意文件讀取漏洞CVE-2020-10977的分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
2020年4月28日,GitLab的一個任意文件讀取漏洞的漏洞細節被公開。該漏洞補丁于2020年3月26號由GitLab官方發布。
GitLab 是一個用于倉庫管理系統的開源項目,使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務。GitLab是由GitLabInc.開發,使用MIT許可證的基于網絡的Git倉庫管理工具,且具有wiki和issue跟蹤功能。
當GitLab的項目之間發生issue移動時,UploadsRewriter模塊會將本地的issue及issue引用的文件移動到新的項目中。執行該操作的部分代碼如下所示:
該部分代碼沒有對issue引用的文件做任何路徑限制,因此存在一個目錄穿越漏洞。通過該目錄穿越漏洞可以從GitLab服務器上拷貝任意文件到新的issue中。此過程存在一個查找引用文件的判斷:
MARKDOWN_PATTERN=%r{\!?\[.*?\]\(/uploads/(?<secret>[0-9a-f]{32})/(?<file>.*?)\)}.freeze
該正則表達式用于匹配issue中引用的文件。盡管此處對引用的文件路徑有一定的限制,但是并沒有解決目錄穿越的問題,從而導致攻擊者可以利用該漏洞從服務器主機上下載任意文件。
GitLab GitLab EE >=8.5,<=12.9
GitLab GitLab CE >=8.5,<=12.9
使用如下命令檢測當前GitLab版本:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
若檢測當前版本在受影響范圍內,則存在上述安全風險。
官方已在最新版本的GitLab修復了上述漏洞,用戶可從官網下載并升級軟件到最新版本。
鏈接:https://packages.gitlab.com/gitlab/gitlab-ce
上述就是小編為大家分享的如何進行GitLab任意文件讀取漏洞CVE-2020-10977的分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。