CVE-2022-21658
rustlang の std::fs::remove_dir_all におけるレースコンディション
- 公開済み
- 2022/01/20
- 更新済み
- 2025/04/22
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/04
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H低 · 今後 30 日間
- パーセンタイル
- 70.4%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Rustは、パフォーマンスと安全性、特に安全な並行性を重視して設計された、マルチパラダイムの汎用プログラミング言語です。Rust Security Response WGは、標準ライブラリ関数である`std::fs::remove_dir_all`が、シンボリックリンクの追跡を可能にする競合状態(CWE-363)に対して脆弱であることを通知されました。攻撃者はこのセキュリティ問題を利用して、特権プログラムを欺き、攻撃者が通常はアクセスまたは削除できないファイルやディレクトリを削除させる可能性があります。Rust 1.0.0からRust 1.58.0までがこの脆弱性の影響を受け、1.58.1にパッチが含まれています。なお、以下のビルドターゲットには攻撃を適切に軽減するための利用可能なAPIがなく、パッチ適用済みのツールチェーンであっても依然として脆弱です:macOS 10.10(Yosemite)より前のバージョン、およびREDOX。特に特権コンテキスト(システムデーモンやsetuidバイナリを含む)で実行されるプログラムを開発している人々は、この影響を受けるリスクが最も高いため、できるだけ早くRust 1.58.1に更新することをお勧めします。コードベースで`remove_dir_all`を呼び出す前にチェックを追加しても、それらのチェック自体も`remove_dir_all`と同様に競合状態に対して脆弱であるため、この脆弱性を軽減することはできないことに注意してください。既存の軽減策は、競合状態以外の状況では意図どおりに機能しています。
ソース
1cve-2022-21658 の POC
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。