天天看點

漏洞預警:GitLab 權限洩露漏洞

漏洞概述

gitlab 是一個使用 ruby on rails 開發的開源應用程式,實作了一個 git 倉庫管理平台,可通過 web 界面進行通路公開的或者私有的項目。在企業中得到的廣泛的使用。近日研究者發現在其多個版本中存在使用者多項敏感資訊洩漏漏洞,攻擊者可以通過這些漏洞來擷取相應的使用者權限,危害嚴重。

漏洞詳情

當修改任務的配置設定者資訊的時候,api 将傳回該使用者的個人資訊詳情,其中包括了該使用者的authentication_token、encrypted_otp_secret、otp_backup_codes等敏感資訊。

使用這些敏感資訊結合 gitlab api 可以實作使用該使用者的身份和權限操作 gitlab。如果使用者為管理者權限,可能會造成更大的危害。

影響版本

gitlab 使用者authentication_token等敏感資訊洩露漏洞分析

以下版本都受該漏洞影響:

8.7.0 ~ 8.15.7

8.16.0 ~ 8.16.7

8.17.0 ~ 8.17.3

解決方案

更新 gitlab

更新 gitlab 至以下相應版本:

8.15.8

8.16.8

8.17.4

更新完成後需要使用下述方式來重置所有使用者的 private token 和 email token。

對于以 omnibus 方式安裝的使用者,建立檔案/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/reset_token.rake;對于以源碼方式安裝的使用者,建立檔案/lib/tasks/reset_token.rake,并寫入如下内容:(如有複制代碼需求,請點選“官方更新公告”檢視)

漏洞預警:GitLab 權限洩露漏洞

omnibus 方式安裝的使用者執行以下指令:

漏洞預警:GitLab 權限洩露漏洞

源碼方式安裝的使用者執行以下指令:

漏洞預警:GitLab 權限洩露漏洞

臨時更新檔

如果因為業務原因不能及時更新 gitlab,可使用下述方式進行臨時修複:

将如下内容儲存至 gitlab.patch

漏洞預警:GitLab 權限洩露漏洞
漏洞預警:GitLab 權限洩露漏洞