Amazon Linux 2: rust (ALAS-2023-1959)

high Nessus プラグイン ID 171828

概要

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

説明

リモートホストにインストールされている rust のバージョンは、1.66.1-1 より前です。したがって、ALAS2-2023-1959 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- 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)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

「yum update rust」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2/ALAS-2023-1959.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

プラグインの詳細

深刻度: High

ID: 171828

ファイル名: al2_ALAS-2023-1959.nasl

バージョン: 1.0

タイプ: local

エージェント: unix

公開日: 2023/2/23

更新日: 2023/2/23

サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, 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:rust-debugger-common, p-cpe:/a:amazon:linux:cargo, p-cpe:/a:amazon:linux:rust-doc, p-cpe:/a:amazon:linux:rust-std-static, p-cpe:/a:amazon:linux:rustfmt, p-cpe:/a:amazon:linux:rust-analyzer, p-cpe:/a:amazon:linux:rust-analysis, p-cpe:/a:amazon:linux:rust-src, p-cpe:/a:amazon:linux:clippy, cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:rust, p-cpe:/a:amazon:linux:rust-debuginfo, p-cpe:/a:amazon:linux:rust-gdb

必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2023/2/17

脆弱性公開日: 2022/9/14

参照情報

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