MFSA 2007-23: Internet Explorer を通じた Firefox の起動を利用したリモートコードの実行

 TERRAZINE - 「firefoxurl://」問題の回避法がイカし過ぎるでの引用に爆笑。そら、こういう書き方したら、「そもそもFirefoxを入れんときゃええのんちゃうんか」と突っ込まれて当然ですな。
 ところで今回の修正は FirefoxThunderbird に危険なデータが渡るのを防ぐだけであり、Internet Explorer脆弱性は修正されませんとしているが、これはIEなりWindows脆弱性だったんだろうか? /.Jでの以下のコメントを信用すると、

http 等のスキームの URL の中に URL としてありえない文字が含まれる場合、自動的にパーセント符号化されるのは、それらのスキームに対して asynchronous pluggable protocol handler が登録されていて、この asynchronous plugglable protocol handler が符号化を行うからです。 HKEY_CLASSES_ROOT\PROTOCOLS\Handler の下にあるのが、 asynchronous pluggable protocol handler が登録されているスキームです。
Firefox は firefoxurl: スキームに対する asynchronous pluggable protocol handler を登録するわけではありません (Firefox は HKCR\FirefoxURL には書き込みますが HKCR\PROTOCOLS\Handler\firefoxurl には書き込みません)。 http: 等と firefoxurl: で動作が違うのはそのためだと思います。
  • Firefoxはインストール時に自身を起動するハンドラとしてHKCR\FirefoxURLを作成する。
  • Firefoxに渡される起動時パラメータにURLとして許されない文字が含まれていたらURLエスケープするべきである(でないと任意のプログラムを呼び出される可能性がある)。
  • WindowsではShellExecuteExで起動されるハンドラがURLエスケープを自前で行わなくても良いようにasynchronous pluggable protocol handlerという機構を用意している。
  • が、Firefoxは自前でのエスケープもasynchronous pluggable protocol handlerの登録も行わなかった。
  • したがって、ShellExecuteExでHKCR\FirefoxURLを呼び出すところに大穴があいた。

ということで、これはFirefox(のデフォルトブラウザ登録機能)の脆弱性だと思うんだが。

 とか分かったようなことを書いては見たが、どうもそんな単純にど素人が判断できるようなもんでは無いようです。しかし、ShellExecuteEx APIの仕様に関する問題をInternet Explorer脆弱性と呼んでみたり、Firefox(またはここで挙げられてる他のアプリ)をインストールしなければ悪用できない脆弱性の回避策としてWeb ページの閲覧には Firefox を利用されることを強く推奨したりするセンスよりは、↓に訳されてるIEBlogの主張の方に説得力を感じるなぁ。

アプリケーションとその個別機能のバリエーションは無限にあるので、呼び出し側が意味のある自動パラメータチェックを行うことは非常に困難である。入力パラメータの安全性を確認するのは受け側のアプリケーションの責任である。

セキュリティ対策企業は警察のスパイウェアを検出すべきか?:ニュース - CNET Japan

 ホワイトリスト入りを求める合法的なサードパーティーベンダーに対するものと「同じ配慮を」連邦捜査機関に対しても行うってのは、まぁ、分からんでもない話ではある。しかし、↓はさすがにちょっと引くな。せいぜいがキーロガーをインストールするために建物に侵入することを許可する裁判所の命令ぐらいで止まって欲しいもんだ。

 理屈の上では、政府機関は、自動アップデート機能の中で顧客にスパイウェアを送るようセキュリティ企業に義務づける、裁判所の命令を要求できるという話もある。

一本足の蛸 - 異世界と外来語

 そうだなぁ、俺的には外来語はやはり違和感を感じはするな。とはいえそんなもんを突き詰めはじめると、漢語の使用すら問題になってきそうだし、*1 仏教由来の慣用句なんかもよくありますね。*2 平然と日本語の地口を使って何とも思わないレベルの作品が溢れてる現状では、あまり細かいことにこだわってもしゃーないか、と思いますね。

*1:ここで突き詰めまくるとアーヴ語になるわけですね。

*2:「なむさん」で論争になったのはイシュトバーンだったっけ。確か作者様が「いいじゃないの、似合うし」でOKになったような。ああ、やおい臭のしないダイナミックな展開で無駄な描写がそぎ落とされた、あのころのグイン・サーガは本当に面白かった。