MSN MessengerやMicrosoft Word,Mozilla(Windows版)などに,「shell:」機能に関するぜい弱性が相次いで見つかっている。Webページを開いたり,リンクをクリックしたりすると,パソコン中の任意のプログラムを実行させられる可能性がある。Mozillaについては,修正パッチや修正版が公開されている。MSN MessengerやWordについては,不用意にリンクをクリックしないことが対策となる。

 「shell:」とは,WindowsがサポートするURIハンドラである。URIハンドラとは,あるアプリケーションをWebページなどから起動できるようにする機能のこと。例えば,Outlook 2002をシステムにインストールすると,Outlook 2002は URIハンドラ「outlook://」として登録される。このURIハンドラを使えば,リンクをクリックすることでOutlook 2002を起動できる。今回問題になっている「shell:」は,文字通りシェル(Explorer)を呼び出すURIハンドラであり,パソコン中のファイルを開いたり,特殊フォルダを開いたりできる(例えば,Internet Explorerで「shell:AppData」と入力すると,ApplicationDataフォルダが開く)。

 「shell:」で呼び出せるのは,パソコン中のファイルに限られる。また,ファイルを呼び出す際に,引数などを渡すことはできない。このため,WebページやHTMLファイルの「shell:」命令をアプリケーションがWindowsに渡してしまっても,危険性は低いように思える。ただし,別の手段で送り込まれた悪質なプログラムを起動される恐れがある。また,パソコン中のプログラムが持つ別のぜい弱性を突く手段としても使える。

 セキュリティ・ベンダーのSecuniaでは「『shell:』機能は,本来安全ではないので,信頼できるソースだけからアクセスできるべき」としている。今回,MSN MessengerやMicrosoft Word,Mozilla(Windows版)などに見つかったのは,「shell:」を制限せず,Windowsに渡してしまうぜい弱性である。

 Windows版のMozilla,Mozilla Firefox,Mozilla Thunderbirdについては,7月7日に修正パッチや,修正版のMozilla 1.7.1/Firefox 0.9.2/Thunderbird 0.7.2が公開されている。US-CERTからは,shell:を無効にする回避方法が公開されている

 MSN Messenger 6.xとMicrosoft Word 2002については,7月11日にセキュリティ関連のメーリング・リストに投稿された内容を,Secuniaが検証して7月12日に公開した。こちらについては,パッチなどは公開されていない。Seuniaでは,「MSN Messengerでは,リンクをクリックしない」「Wordでは,出所が信頼できないWord文書中のリンクをクリックしない」ことを対策として挙げている。

 今回の「shell:」に関するぜい弱性は,MSN MessengerやMicrosoft Word,Mozillaなどに限った話ではない。US-CERTでは,「『shell:』のURIをWindowsに渡すプログラム(例えば,Internet ExplorerやOutlook)はすべて,同様のぜい弱性を抱えている」としている。

◎参考資料
shell: プロトコルのセキュリティ問題についてMozilla ユーザが知っておくべきこと(もじら組)
What Mozilla users should know about the shell: protocol security issue(Mozilla)
Bugzilla Bug 250180
Mozilla fails to restrict access to the "shell:" URI handler(US-CERT)
Microsoft Products Fail to Restrict "shell:" Access(Secunia)

(勝村 幸博=IT Pro)