概要
リモートの SUSE ホストに 1 つ以上のセキュリティ更新がありません。
説明
リモートの SUSE Linux SLED15 / SLES15 / openSUSE 15 ホストには、SUSE-SU-2022:3451-1 のアドバイザリに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。
- 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 はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。
ソリューション
影響を受ける cargo1.62 や rust1.62 パッケージを更新してください。
プラグインの詳細
ファイル名: suse_SU-2022-3451-1.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:C
ベクトル: 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:novell:suse_linux:cargo1.62, p-cpe:/a:novell:suse_linux:rust1.62, cpe:/o:novell:suse_linux:15
必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list
エクスプロイトの容易さ: No known exploits are available