Amazon Linux 2023:git、git-all、git-core (ALAS2023-2023-065)

critical Nessus Plugin ID 173170

概要

遠端 Amazon Linux 2023 主機缺少一個安全性更新。

說明

因此,它受到 ALAS2023-2023-065 公告中所提及的多個弱點影響。

- Git 是分散式修訂控制系統。gitattributes 是一種允許定義路徑屬性的機制。使用者可藉由新增「.gitattributes」檔案至存放庫來定義這些屬性,其中包含一組檔案模式以及應針對符合此模式的路徑設定的屬性。剖析 gitattributes 時,若存在大量路徑模式,或單一模式存在大量屬性,或宣告的屬性名稱巨大,則可能發生多個整數溢位。透過可能屬於提交歷程記錄的特製「.gitattributes」檔案可觸發這些溢位弱點。從檔案中剖析 gitattributes 時,Git 會以無訊息方式分割長度超過 2KB 的行,但從索引剖析這些屬性時則不會。因此,失敗模式取決於此檔案存在於工作樹狀結構中、索引中還是兩者中皆存在。此整數溢位問題可導致任意堆積讀取和寫入,進而可能導致遠端程式碼執行。此問題已在 2023 年 1 月 17 日發佈的版本中修補,回溯至 v2.30.7。建議使用者升級。目前沒有任何因應措施可解決此問題。(CVE-2022-23521)

- Git for Windows 是一個 Git 分支,其中包含 Windows 專屬修補程式。此弱點會影響在多使用者機器上工作的使用者,其中未受信任的相關方對同一個硬碟具有寫入權限。這些未受信任的相關方可建立資料夾 `C: \.git`,當搜尋 Git 目錄時,本該在存放庫外部執行的 Git 作業將會存取該資料夾。然後,Git 會套用上述 Git 目錄中的任何組態。設定 `GIT_PS1_SHOWDIRTYSTATE` 的 Git Bash 使用者也容易受到影響,因為這些使用者只需啟動 PowerShell 即可安裝 posh-gitare。Visual Studio 等 IDE 使用者容易遭受攻擊的原因是,他們在建立新專案時即會讀取並套用 `C: \.git\config` 中指定的組態。使用 Git 分支的 Microsoft 使用者只要啟動 Git Bash,就會受到影響。此問題已在 Git for Windows 2.35.2 版本中得到修正。針對無法升級的使用者,可採取的因應措施是在執行 Git 命令的所有驅動器上建立資料夾 `.git`,並從這些資料夾移除讀取/寫入存取權。
或者,可以定義或延伸 `GIT_CEILING_DIRECTORIES` 以涵蓋使用者設定檔的 _parent_ 目錄,例如 `C: \Users` (如果使用者設定檔位於 `C: \Users\my-user-name` 中) 。(CVE-2022-24765)

-Git 是一款分散式版本控制系統。 2.37.1、2.36.2、2.35.4、2.34.4、2.33.4、2.32.3、2.31.4 和 2.30.5 版之前的 Git 在所有平台中都容易受到權限提升弱點影響。不知情的使用者仍可能受到 CVE-2022-24765 中報告的問題影響,例如,以 Root 身分瀏覽屬於他們的共用 tmp 目錄時,攻擊者可在該目錄中建立 git 存放庫。 2.37.1、2.36.2、2.35.4、2.34.4、2.33.4、2.32.3、2.31.4 和 2.30.5 版包含針對此問題的修補程式。若要避免受到範例中所述弱點的影響,最簡單的方法是避免以 Root (或 Windows 中的系統管理員) 身分執行 git,並在需要時最大限度地減少其使用。雖然沒有一般性因應措施,但可以移除任何已存在的此類存放庫,並以 Root 身分建立一個存放庫以阻止任何未來的攻擊,以此強化系統,使其免受範例中所述弱點影響。(CVE-2022-29187)

-Git 是一款開放原始碼的可擴充分散式修訂控制系統。 2.30.6、2.31.5、2.32.4、2.33.5、2.34.5、2.35.5、2.36.3 和 2.37.4 之前版本容易將敏感資訊洩漏給惡意執行者。執行本機複製時 (複製的來源和目標在同一個磁碟區) ,Git 會透過建立來源內容的永久連結或直接複製 (如果已透過「--no-hardlinks」停用永久連結),將來源的「$GIT_DIR/objects」目錄內容複製到目標位置。惡意執行者可誘騙受害者使用指向受害者計算機上敏感資訊的符號連結來複製存放庫。具體做法可以是讓受害者在同一計算機上複製惡意存放庫,若受害者使用「--recurse-submodules」選項進行複制,則讓他們透過任何來源的子模組,複製作為空白存放庫內嵌的惡意存放庫。
Git 不會在「$GIT_DIR/objects」目錄中建立符號連結。2022 年 10 月 18 日發佈的版本已修補此問題,並向後移植至 v2.30.x 版本。可能的因應措施:避免在共用計算機上使用「--local」最佳化複製不受信任的存放庫,方法是將「--no-local」選項傳遞給「git clone」,或從使用「file: //」配置的 URL 複製。或者,避免使用「--recurse-submodules」從不受信任的來源複製存放庫,或執行「git config --global protocol.file.allow user」。(CVE-2022-39253)

- Git 是一個開放原始碼的可擴充分散式修訂控制系統。「git shell」是一個受限的登入 shell,可用來透過 SSH 實作 Git 的推送/提取功能。在 2.30.6、2.31.5、2.32.4、2.33.5、2.34.5、2.35.5、2.36.3 和 2.37.4 之前版本中,將命令引數分割成陣列的函式未正確使用「int」來表示數量陣列中的項目數,惡意執行者可藉此刻意造成傳回值溢位,進而引致任意堆積寫入。由於隨後產生的陣列會傳遞至「execv()」,因此攻擊者可以藉此在受害者的計算機上從遠端執行程式碼。請注意,受害者必須先允許以登入 shell 來存取「git shell」,才會容易受到此攻擊。2.30.6、2.31.5、2.32.4、2.33.5、2.34.5、2.35.5、2.36.3 和 2.37.4 版已修補此問題,建議使用者升級至最新版本。
停用透過遠端登入存取「git shell」是可行的短期因應措施。(CVE-2022-39260)

- Git 是分散式修訂控制系統。「git log」可以使用其「--format」規範以任意格式顯示提交。此功能也會透過「export-subst」gitattribute 洩漏給「git archive」。處理填補運算子時,「pretty.c: : format_and_pad_commit()」中會發生整數溢位,其中「size_t」 被錯誤儲存為「int」,然後作為位移新增到「memcpy()」。使用者藉由執行叫用提交格式化機器的命令 (例如,「git log --format=...」) 可直接觸發此溢位弱點。也可以藉由 git 封存透過 export-subst 機制間接觸發此弱點,這會在 git 封存期間展開存放庫內檔案的格式規範。此整數溢位問題可導致任意堆積寫入,進而可能導致遠端程式碼執行。此問題已在 2023 年 1 月 17 日發佈的版本中修補,回溯至 v2.30.7。建議使用者升級。無法升級的使用者應停用未受信任的存放庫中的「git 封存」。如果您透過「git daemon」洩漏 git 封存,請執行「git config --global daemon.uploadArch false」將其停用。(CVE-2022-41903)

請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

執行「dnf update git --releasever=2023.0.20230222」以更新系統。

另請參閱

https://alas.aws.amazon.com/AL2023/ALAS-2023-065.html

https://alas.aws.amazon.com/cve/html/CVE-2022-23521.html

https://alas.aws.amazon.com/cve/html/CVE-2022-24765.html

https://alas.aws.amazon.com/cve/html/CVE-2022-29187.html

https://alas.aws.amazon.com/cve/html/CVE-2022-39253.html

https://alas.aws.amazon.com/cve/html/CVE-2022-39260.html

https://alas.aws.amazon.com/cve/html/CVE-2022-41903.html

https://alas.aws.amazon.com/faqs.html

Plugin 詳細資訊

嚴重性: Critical

ID: 173170

檔案名稱: al2023_ALAS2023-2023-065.nasl

版本: 1.1

類型: local

代理程式: unix

已發布: 2023/3/21

已更新: 2023/4/20

支援的感應器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Medium

基本分數: 6.9

時間分數: 5.7

媒介: CVSS2#AV:L/AC:M/Au:N/C:C/I:C/A:C

CVSS 評分資料來源: CVE-2022-29187

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 9.1

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

時間媒介: CVSS:3.0/E:F/RL:O/RC:C

CVSS 評分資料來源: CVE-2022-41903

弱點資訊

CPE: p-cpe:/a:amazon:linux:git, p-cpe:/a:amazon:linux:git-all, p-cpe:/a:amazon:linux:git-core, p-cpe:/a:amazon:linux:git-core-debuginfo, p-cpe:/a:amazon:linux:git-core-doc, p-cpe:/a:amazon:linux:git-credential-libsecret, p-cpe:/a:amazon:linux:git-credential-libsecret-debuginfo, p-cpe:/a:amazon:linux:git-cvs, p-cpe:/a:amazon:linux:git-daemon, p-cpe:/a:amazon:linux:git-daemon-debuginfo, p-cpe:/a:amazon:linux:git-debuginfo, p-cpe:/a:amazon:linux:git-debugsource, p-cpe:/a:amazon:linux:git-email, p-cpe:/a:amazon:linux:git-gui, p-cpe:/a:amazon:linux:git-instaweb, p-cpe:/a:amazon:linux:git-p4, p-cpe:/a:amazon:linux:git-subtree, p-cpe:/a:amazon:linux:git-svn, p-cpe:/a:amazon:linux:gitk, p-cpe:/a:amazon:linux:gitweb, p-cpe:/a:amazon:linux:perl-git, p-cpe:/a:amazon:linux:perl-git-svn, cpe:/o:amazon:linux:2023

必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2023/2/17

弱點發布日期: 2022/4/12

參考資訊

CVE: CVE-2022-23521, CVE-2022-24765, CVE-2022-29187, CVE-2022-39253, CVE-2022-39260, CVE-2022-41903