Rust標準ライブラリ向けのセキュリティ勧告(CVE-2024-24576)
(blog.rust-lang.org)Rust標準ライブラリに関するセキュリティ勧告が公開されました。これは CVE-2024-24576 として識別される脆弱性に関するもので、特に Windows で .bat または .cmd 拡張子を持つバッチファイルを Command API を使って呼び出す際、引数が適切にエスケープされない問題により発生しました。
攻撃者が生成されたプロセスに渡される引数を制御できる場合、エスケープを回避して任意のシェルコマンドを実行できます。この脆弱性が重要になるのは、信頼できない引数を用いて Windows 上でバッチファイルを呼び出す場合に限られます。その他のプラットフォームやユースケースは影響を受けません。
問題の根本原因は、Windows 上で cmd.exe(バッチファイルの実行に使用される)が独自の引数分割ロジックを持っているため、標準ライブラリ側でバッチファイルに渡される引数に対してカスタムのエスケープを実装する必要があることです。報告によれば、このエスケープロジックが十分に厳密ではなかったため、悪意のある引数を渡すことで任意のシェル実行が可能でした。
AI の支援を受けています
3件のコメント
Windowsのエスケープ問題だというなら、そういうこともあり得るなと思いますね
以前のWinRAR脆弱性と似ている気がします。Windowsのバッチファイルの実行方法とファイル名の制約を利用していましたね。
やはり世の中、簡単なことはないですね(泣)