Amazon Linux 2023:Cargo、clippy、rust (ALAS2023-2023-109)

high Nessus Plugin ID 173151

概要

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

說明

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

- Cargo 是 rust 程式設計語言的套件管理員。下載套件後,Cargo 會在磁碟上的 ~/.cargo 資料夾中解壓縮其原始程式碼,使其可供其構建的 Rust 專案使用。為了記錄擷取成功的時間,Cargo 會在擷取所有檔案後,在所擷取的原始程式碼根目錄下的 .cargo-ok 檔案中寫入 ok。據發現,Cargo 允許套件包含 Cargo 會擷取的 .cargo-ok 符號連結。然後,當 Cargo 嘗試向 .cargo-ok 寫入 ok 時,它實際上會將符號連結所指向檔案的前兩個位元組替換為 ok。
攻擊者可藉此損毀使用 Cargo 解壓縮套件的計算機上的一個檔案。請注意,由於建構指令碼和程序巨集,Cargo 允許在建構階段執行程式碼。此公告中的弱點允許攻擊者以更難以追蹤的方式執行部分可能的損害。如果您想避免受到攻擊,您的相依性仍必須受到信任,這是因為攻擊者可以使用版本指令碼和程序巨集執行相同的攻擊。所有 Cargo 版本都存在此弱點。於 9 月 22 日發佈的 Rust 1.64 中包含對此弱點的修正。
由於該弱點只是實現惡意建置指令碼或程序巨集功能的有限方式,我們決定不發佈反向移植安全性修正的 Rust point 版本。
現已提供適用於 Rust 1.63.0 的修補程式檔案 使用者可在 wg-security-response 存放庫中取得,以便構建自己的工具鏈。減輕風險 我們建議替代登錄檔的使用者謹慎下載,只在其專案中包含受信任的相依性。請注意,即使已修正這些弱點,由於建置指令碼和程序巨集,Cargo 仍允許在構建時執行任意程式碼:無論這些弱點如何,惡意相依性都能夠造成損害。多年前,crates.io 已實作伺服器端檢查,以拒絕這些類型的套件,並且 crates.io 上沒有套件可利用這些弱點。但是,crates.io 使用者在選擇其相依性時仍需謹慎,因為此處的設計也允許攻擊者觸發遠端程式碼執行攻擊。(CVE-2022-36113)

- Cargo 是 rust 程式設計語言的套件管理員。據發現,Cargo 並未限制從壓縮封存擷取的資料量。攻擊者可將特製的套件上傳至替代登錄檔,該套件可擷取超過其大小的資料 (也稱為 zip 炸彈),進而耗盡使用 Cargo 下載套件的計算機上的磁碟空間。請注意,由於建構指令碼和程序巨集,Cargo 允許在建構階段執行程式碼。此公告中的弱點允許攻擊者以更難以追蹤的方式執行部分可能的損害。如果您想避免受到攻擊,您的相依性仍必須受到信任,這是因為攻擊者可以使用版本指令碼和程序巨集執行相同的攻擊。所有 Cargo 版本都存在此弱點。於 9 月 22 日發佈的 Rust 1.64 中包含對此弱點的修正。由於該弱點只是實現惡意建置指令碼或程序巨集功能的有限方式,我們決定不發佈反向移植安全性修正的 Rust point 版本。現已提供適用於 Rust 1.63.0 的修補程式檔案 使用者可在 wg-security-response 存放庫中取得,以便構建自己的工具鏈。
我們建議替代登錄檔的使用者謹慎下載,只在其專案中包含受信任的相依性。請注意,即使已修正這些弱點,由於建置指令碼和程序巨集,Cargo 仍允許在構建時執行任意程式碼:無論這些弱點如何,惡意相依性都能夠造成損害。多年前,crates.io 已實作伺服器端檢查,以拒絕這些類型的套件,並且 crates.io 上沒有套件可利用這些弱點。但是,crates.io 使用者在選擇其相依性時仍需謹慎,因為此處仍存在與建置指令碼和程序巨集相關的相同問題。
(CVE-2022-36114)

- Cargo 是一個 Rust 套件管理工具。Rust 安全性回應工作組獲悉,透過 SSH 複製索引和相依性時,Cargo 未執行 SSH 主機金鑰驗證。攻擊者可利用此弱點來執行攔截式 (MITM) 攻擊。此弱點已指派為 CVE-2022-46176。包含 Cargo 1.66.1 之前版本的所有 Rust 版本都容易受到攻擊。請注意,即使您未明確針對替代登錄檔索引或 crate 相依性使用 SSH,但如果您已將 git 設定為使用 SSH 取代 HTTPS 連線 (透過 git 的 [`url.<base>.insteadOf`][1] 設定),則可能會受到此弱點影響,因為這會造成您透過 SSH 複製 crates.io 索引。如果伺服器的公開金鑰尚未受信任,Rust 1.66.1 將確保 Cargo 檢查 SSH 主機金鑰並且中止連線。建議大家盡快升級。(CVE-2022-46176)

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

解決方案

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

另請參閱

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

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

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

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

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

Plugin 詳細資訊

嚴重性: High

ID: 173151

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

版本: 1.1

類型: local

代理程式: unix

已發布: 2023/3/21

已更新: 2024/2/19

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

風險資訊

VPR

風險因素: Medium

分數: 5.2

CVSS v2

風險因素: High

基本分數: 9.4

時間分數: 7

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

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

CVSS v3

風險因素: High

基本分數: 8.1

時間分數: 7.1

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

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

弱點資訊

CPE: p-cpe:/a:amazon:linux:cargo, p-cpe:/a:amazon:linux:cargo-debuginfo, p-cpe:/a:amazon:linux:clippy, p-cpe:/a:amazon:linux:clippy-debuginfo, p-cpe:/a:amazon:linux:rust, p-cpe:/a:amazon:linux:rust-analysis, p-cpe:/a:amazon:linux:rust-analyzer, p-cpe:/a:amazon:linux:rust-analyzer-debuginfo, p-cpe:/a:amazon:linux:rust-debugger-common, p-cpe:/a:amazon:linux:rust-debuginfo, p-cpe:/a:amazon:linux:rust-debugsource, p-cpe:/a:amazon:linux:rust-doc, p-cpe:/a:amazon:linux:rust-gdb, p-cpe:/a:amazon:linux:rust-lldb, p-cpe:/a:amazon:linux:rust-src, p-cpe:/a:amazon:linux:rust-std-static, p-cpe:/a:amazon:linux:rust-std-static-wasm32-unknown-unknown, p-cpe:/a:amazon:linux:rust-std-static-wasm32-wasi, p-cpe:/a:amazon:linux:rustfmt, p-cpe:/a:amazon:linux:rustfmt-debuginfo, cpe:/o:amazon:linux:2023

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

可輕鬆利用: No known exploits are available

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

弱點發布日期: 2023/1/11

參考資訊

CVE: CVE-2022-36113, CVE-2022-36114, CVE-2022-46176