Rust プロジェクトで使用される Cargo パッケージ マネージャーの脆弱性

Rust 言語でパッケージを管理し、プロジェクトをビルドするために使用される Cargo パッケージ マネージャーに 2022 つの脆弱性が確認されており、特別に設計されたパッケージをサードパーティ リポジトリ (公式クレートのユーザーが使用するとされている) からダウンロードする際に悪用される可能性があります。 io リポジトリは問題の影響を受けませんでした)。 36113 つ目の脆弱性 (CVE-2022-36114) では、現在のアクセス許可が許可している限り、任意のファイルの最初の XNUMX バイトを上書きできます。 XNUMX 番目の脆弱性 (CVE-XNUMX-XNUMX) は、ディスクの空き領域を使い果たすために悪用される可能性があります。

これらの脆弱性は、1.64月22日に予定されているRust XNUMXのリリースで修正される予定だ。 サードパーティのリポジトリからの未検証のパッケージを使用すると、パッケージで提供されるアセンブリ スクリプトまたはプロシージャ マクロからハンドラを実行する標準機能によって同様の被害が発生する可能性があるため、この脆弱性には低い重大度レベルが割り当てられています。 同時に、上記の問題は、その動作が(組み立てなしで)積載後のパッケージを開封する段階で実行されるという点で異なります。

特に、パッケージがロードされた後、cargo はその内容を ~/.cargo ディレクトリに解凍し、正常に解凍された兆候を .cargo-ok ファイルに保存します。 最初の脆弱性の本質は、パッケージの作成者が .cargo-ok という名前のシンボリック リンクを内部に配置できることです。これにより、リンクが指すファイルに「ok」というテキストが書き込まれます。

28 番目の脆弱性は、アーカイブから抽出されるデータのサイズに制限がないことが原因で、「zip 爆弾」の作成に使用される可能性があります (zip 形式の最大圧縮率を達成するためにデータをアーカイブに配置することができます)。この場合、たとえば特別に用意された 10 MB の zip ファイルは約 281 TB のデータを解凍します)。

出所: オープンネット.ru

コメントを追加します