Amazon Linux 2023 : cargo, clippy, rust (ALAS2023-2023-109)

high Nessus プラグイン ID 173151

概要

リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。

説明

したがって、ALAS2023-2023-109 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- Cargo は rust プログラミング言語用のパッケージマネージャーです。パッケージのダウンロード後、Cargo はディスク上の ~/.cargo フォルダーにそのソースコードを抽出し、ビルドする Rust プロジェクトで利用できるようにします。抽出が成功したことを記録するために、Cargo はすべてのファイルを抽出したら、抽出したソースコードのルートにある .cargo-ok ファイルに ok を書き込みます。Cargo は Cargo が抽出する .cargo-ok シンボリックリンクをパッケージに含めることが可能であることが発見されました。その後、Cargo が ok を .cargo-ok に書き込もうとすると、シンボリックリンクが指し示すファイルの最初の 2 バイトが実際には ok で置き換えられます。
これにより、攻撃者が Cargo を使用しているマシン上の 1 つのファイルを破損し、パッケージを抽出することができます。注意:ビルドスクリプトと手続きマクロにより、Cargo ではビルド時にコード実行が可能です。このアドバイザリの脆弱性により、追跡が困難な方法で、起こり得る被害の一部を実行することが可能です。ビルドスクリプトとプロシージャマクロで同じ攻撃を実行する可能性があるため、攻撃から保護したい場合は、依存関係を引き続き信頼できるものにしておく必要があります。この脆弱性は、Cargo のすべてのバージョンに存在します。Rust 1.64は、9 月 22 日にリリースされ、これに対する修正が含まれます。
この脆弱性は、悪意のあるビルドスクリプトまたはプロシージャマクロが影響を与える点では、より限定的なものであるため、セキュリティ修正をバックポートする Rust ポイントリリースを公開しないことを決定しました。
Rust 1.63.0のパッチファイル wg-security-response リポジトリで利用可能であり、独自のツールチェーンを構築しているユーザーが利用できます。緩和策として、代替レジストリのユーザーに対して、ダウンロードするパッケージに注意し、プロジェクトに信頼できる依存関係のみを含めるよう推奨します。これらの脆弱性が修正されている場合でも、ビルドスクリプトと手続きマクロのせいで、Cargo はビルド時に任意のコード実行を許可しますので、ご注意ください。悪意のある依存関係は、これらの脆弱性に関係なく、被害を引き起こす可能性があります。crates.io は数年前にこれらの種類のパッケージを拒否するためにサーバー側のチェックを実装しており、これらの脆弱性を悪用するパッケージはありません。ただし、crates.io ユーザーは依存関係を選択する際に注意を払う必要があります。リモートコードの実行もそこで設計されているためです。(CVE-2022-36113)

- Cargo は rust プログラミング言語用のパッケージマネージャーです。Cargo が圧縮アーカイブから抽出されたデータの量を制限していないことが判明しました。攻撃者はそのサイズよりもはるかに多くのデータを抽出する特別に細工されたパッケージ (zip 爆弾としても知られる) を代替レジストリにアップロードし、パッケージをダウンロードするために Cargo を使用するマシンのディスクスペースを消費させる可能性があります。注意:ビルドスクリプトと手続きマクロにより、Cargo ではビルド時にコード実行が可能です。このアドバイザリの脆弱性により、追跡が困難な方法で、起こり得る被害の一部を実行することが可能です。ビルドスクリプトとプロシージャマクロで同じ攻撃を実行する可能性があるため、攻撃から保護したい場合は、依存関係を引き続き信頼できるものにしておく必要があります。この脆弱性は、Cargo のすべてのバージョンに存在します。Rust 1.64は、9 月 22 日にリリースされ、これに対する修正が含まれます。この脆弱性は、悪意のあるビルドスクリプトまたはプロシージャマクロが影響を与える点では、より限定的なものであるため、セキュリティ修正をバックポートする Rust ポイントリリースを公開しないことを決定しました。Rust 1.63.0のパッチファイル wg-security-response リポジトリで利用可能であり、独自のツールチェーンを構築しているユーザーが利用できます。
代替レジストリのユーザーに対して、ダウンロードするパッケージに注意し、プロジェクトに信頼できる依存関係のみを含めるよう推奨します。これらの脆弱性が修正されている場合でも、ビルドスクリプトと手続きマクロのせいで、Cargo はビルド時に任意のコード実行を許可しますので、ご注意ください。悪意のある依存関係は、これらの脆弱性に関係なく、被害を引き起こす可能性があります。crates.io は数年前にこれらの種類のパッケージを拒否するためにサーバー側のチェックを実装しており、これらの脆弱性を悪用するパッケージはありません。ただし、crates.io ユーザーは依存関係を選択する際に注意を払う必要があります。ビルドスクリプトおよび手続きマクロに関する同じ懸念がここでも当てはまります。
(CVE-2022-36114)

- Cargo は、Rust パッケージマネージャーです。SSH を介してインデックスと依存関係を複製する際に、Cargo が SSH ホストキー検証を実行しないことが Rust Security Response WG に通知されました。攻撃者がこれを悪用し、中間者攻撃 (MITM) を行う可能性があります。この脆弱性は、CVE-2022-46176 に割り当てられています。1.66.1 より前の Cargo を含む Rust の全バージョンが脆弱です。注意: 代替レジストリインデックスまたはクレート依存関係に対して SSH を明示的に使用しない場合でも、GitHub への HTTPS 接続を SSH で置き換えるように git を構成している場合 (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

プラグインの詳細

深刻度: 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