Linux Distros 未修補弱點:CVE-2021-43809

high Nessus Plugin ID 224238

概要

Linux/Unix 主機上安裝的一個或多個套件存有弱點,供應商表示將不會修補。

說明

Linux/Unix 主機上安裝了一個或多個受到弱點影響的套件,且供應商未提供可用的修補程式。

- `Bundler` 是一個套件,用於管理 Ruby 中的應用程式相依性。在 2.2.33之前的 `bundler` 版本中,使用未受信任且明顯無害的 `Gemfile` 時,預期不會導致外部程式碼執行,除非在 `Gemfile` 本身內的 ruby 程式碼中明確指出。不過,如果 `Gemfile` 包含使用 `git` 選項的 `gem` 項目,且該選項具有無效但看似無害的值 (且值前導破折號),這可能為 false。為處理來自 Git 存放庫而非登錄檔的相依性,Bundler 使用了多種命令,例如「git clone」。這些命令是使用使用者輸入 (例如:存放庫 URL) 建構的。構建命令時, 2.2.33 之前的 Bundler 版本會正確避免命令插入弱點,方法是傳送引數陣列 (而非命令字串)。不過,使用者輸入可能以破折號 (`-`) 開頭,因此會被視為選用引數,而非位置引數。這可導致程式碼執行,因為某些命令具有可用來執行任意可執行檔的選項。由於此值來自 `Gemfile` 檔案,因此可包含任何字元,包括前置破折號。若要惡意利用此弱點,攻擊者必須特製一個目錄,其中包含宣告位於 Git 存放庫中的相依性的 `Gemfile` 檔案。此相依性必須具有 `-u./payload` 格式的 Git URL。此 URL 將用來建構 Git 複製命令,但會被解譯為 upload-pack 引數。然後,必須與受害者共用此目錄,受害者隨後必須執行評估 Gemfile 的命令,例如 `bundle lock`。此弱點可導致任意程式碼執行,進而可能導致接管系統。但是,惡意利用的可能性非常低,因為它需要大量的使用者互動。Bundler 2.2.33 已修補此問題,方法是在受此問題影響的 Git 命令的任何位置引數之前插入 `--` 作為引數。無論使用者是否可以升級,在執行任何可能讀取它們的 `bundler` 命令之前,都應檢閱所有不受信任的 `Gemfile`,因為其中可包含任意 ruby 程式碼。 (CVE-2021-43809)

請注意,Nessus 依賴供應商報告的套件存在。

解決方案

目前尚未有已知的解決方案。

Plugin 詳細資訊

嚴重性: High

ID: 224238

檔案名稱: unpatched_CVE_2021_43809.nasl

版本: 1.1

類型: local

代理程式: unix

系列: Misc.

已發布: 2025/3/5

已更新: 2025/3/5

支援的感應器: Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 9.3

時間性分數: 7.3

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

CVSS 評分資料來源: CVE-2021-43809

CVSS v3

風險因素: High

基本分數: 7.3

時間性分數: 6.6

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

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

弱點資訊

必要的 KB 項目: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched

可被惡意程式利用: true

可輕鬆利用: Exploits are available

弱點發布日期: 2021/12/8

參考資訊

CVE: CVE-2021-43809