Firefox 2.0にURIハンドラを悪用される脆弱性 57
ストーリー by mhatta
どっちもどっち 部門より
どっちもどっち 部門より
Sassy 曰く、
Secunia アドバイザリによると、Firefox 2.0に「firefoxurl://」というURIハンドラを利用してリモートからシステムアクセスを許してしまう危険性(Firefox "firefoxurl" URI Handler Registration Vulnerability)が報告されています。CNETの記事によると、この脆弱性の大きな特徴は、FirefoxだけでなくIEで攻撃ページにアクセスした場合にも悪用されるということ。両者とも単体では安全なのですが、IEからFirefoxがURIハンドラ経由で呼び出される場合、IEはコマンドラインをチェックして文字をエスケープせず、またFirefoxはコマンドラインに引数が付加される可能性を考慮していなかったため問題が生じるということのようです。FirefoxとIEの両方をインストールしている方はクロスブラウザスクリプトのデモページでお確かめください。また、対処法として森田亮の雑記帳にはURLハンドラを無効にする方法が紹介されています。
よし、とりあえず (スコア:4, おもしろおかしい)
IEを完全にアンインストールする方法を・・・
#できたらどれだけ嬉しいか
Re:よし、とりあえず (スコア:0)
他にもあったよな。
Re:よし、とりあえず (スコア:0)
Re:よし、とりあえず (スコア:0)
// 窓から投げ捨てるようなマシンは信用するな、ですね
Re:よし、とりあえず (スコア:1)
とりあえず通知ダイアログが (スコア:4, 興味深い)
Re:とりあえず通知ダイアログが (スコア:5, 参考になる)
Firefoxを終了してから件のページをIEで開いたらコマンドプロンプトが出現しました。
これは確かにかなり危険だ。
# その後firefox.exeがゾンビ状態に……
Re:とりあえず通知ダイアログが (スコア:4, 参考になる)
Re:とりあえず通知ダイアログが (スコア:4, 参考になる)
既存のURLハンドラを使っているアプリケーションで、URLエンコードをされた文字列を扱えないものが正しく動かなくなってしまいますが、そもそも名前からしてURLハンドラなんですし。
http・mailto等とfirefoxurlの違い (Re:とりあえず通知ダイアログが) (スコア:4, 興味深い)
僕の理解では、 http 等のスキームの URL の中に URL としてありえない文字が含まれる場合、自動的にパーセント符号化されるのは、それらのスキームに対して asynchronous pluggable protocol handler [microsoft.com] が登録されていて、この 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: で動作が違うのはそのためだと思います。
Re:とりあえず通知ダイアログが (スコア:0)
Re:とりあえず通知ダイアログが (スコア:0)
about:configの何かに依存するのだろうか?(なんか以前のfirefoxの脆弱性のトピックの時に設定したようなおぼろげな記憶が)
#というかああいうダイアログが出るときはよからぬことが起きるので自動的に「却下」ボタンを押すのが正解かねぇ。
#デモページも信用しないのよ~
Re:とりあえず通知ダイアログが (スコア:0)
だめだ、起動しているときと同じように(しかし引数が超短い)ダイアログが出るのでCancelする猶予がある。
むむむ・・・。
Re:とりあえず通知ダイアログが (スコア:0)
Thunderbird URL (スコア:3, 興味深い)
Re:Thunderbird URL (スコア:0)
IE7 + lolifox 0.3.2 (スコア:2, 参考になる)
と思いつつlolifoxのバージョンを見たら0.3.0。
試しに0.3.2にバージョンアップしてみたら、コマンドプロンプトが開きました。
firefoxよりバージョンアップが遅いような気がするので、
対策は取っておいた方がよさそうですね。
Re:IE7 + lolifox 0.3.2 (スコア:1)
削除してみたところ、URLエラーが出るだけでIEでもlolifoxでも何も起こらないことを確認しました。
# といっても、lolifoxユーザーは少数だろうなぁ。
間違ってるぞ (スコア:1)
CNETの記事にはこんなことは書かれていないんですけど。
>攻撃者は、悪質なサイトをユーザーにIEで閲覧させることで、「firefoxurl://」というURLハンドラを利用しながら、ブラウザとウェブ上の特定のリソースとの間でやりとりをさせることが可能になる。
:
>それぞれスタンドアロン製品としては安全だが、一緒になるとそうでなくなる
どう考えてもタレコミの記述は記事と矛盾してる。
Re:間違ってるぞ (スコア:1, 参考になる)
・FirefoxとIEを両方インストールして
・IE(というかエクスプローラ)にFirefox用のハンドラを登録して
・Firefoxを起動していない状態でIEで悪意あるURLを踏む
ことが条件でいいのかな?
# OperaやMac版IEで悪意あるURLを踏んだ場合は不明、と
Re:間違ってるぞ (スコア:0)
そもそも今サポートされているIEはWindowsオンリーなのだから、
「IEをインストールして」という記述は要らないと思う。
>・IE(というかエクスプローラ)にFirefox用のハンドラを登録して
>・Firefoxを起動していない状態でIEで悪意あるURLを踏む
んーと、つまりこれは、IEでfirefoxを独自ハンドラで呼び出して、
いわばreal playerのように使っているという事?
今時ramファイル開いてハンドルを目にする事なんかないから、却って解りにくい…。
要は、Lotus Notes URI Handler Argument Injection Vulnerability [idefense.com]と似た問題ということ
これは (スコア:1, おもしろおかしい)
もしかして、最終回も近い? それともテコ入れ?
Re:これは (スコア:0)
この後OperaやSafariやw3mあたりも合流して
5人のチームになってからが本番ですよ。
Re:これは (スコア:0)
>5人のチームになってからが本番ですよ。
その5人を「熱血」「クール」「知力」「怪力」「お色気」のタイプに当てはめるとすると、どれがどれになるんですか?
Re:これは (スコア:0)
熱い脆弱性を秘めた心を持つ男 IE
ブラウザーーーレーッド
常にレッドランプ点灯中
↓
あとよろしく
Re:これは (スコア:0)
青:Lynx
黄:w3m
緑:Opera
桃:Safari
黒十字軍:IE
Re:これは (スコア:0)
「熱血」・・・真っ赤な炎のように熱く燃えたぎる!ファイアーーーーーーーフォッーーーークス!
「クール」・・・胸に輝く青い「e」の文字!インターネットエクスプローーラーーーー!
「知力」・・・コンソールモニタにほのかに浮かぶ緑文字!リーーーーーーンクス!
「怪力」・・・イベントビューワを埋めつくす黄色の警告!サファーーーーーーリ!
「お色気」・・・元祖タブブラウザでエロサイトをがんがん開けろ!お色気担当オペーーーーーラ!
Re:これは (スコア:0)
Re:これは (スコア:1)
Firefox 2.0.0.5 (スコア:1)
できていますね。
近いうちに、2.0.0.5がリリースされるのかもしれません。
# 今回の問題が解消されているかは、未確認ですが。
Re:Firefox 2.0.0.5 (スコア:2, 参考になる)
2.0.0.5で修正される [itmedia.co.jp]ようですね。
当然環境は (スコア:0)
I|l (スコア:0)
Re:I|l (スコア:1)
URN を含めるかどうか。
# urn: から始まらない「適切な」URI は全部 URL とか覚えておけば簡単? telnet: とか mailto: とか nntp: とか。
Re:I|l (スコア:1)
あなたは過剰に反応しすぎ。
検証パターン (スコア:0)
- Firefox から firefoxurl://~ を踏んだとき
- Opera から firefoxurl://~ を踏んだとき
- safari から firefoxurl://~ を踏んだとき
ん~、他にもあるかな?
IE から踏んだときだけが問題だというなら、普段 IE を使ってない人がこの問題に遭遇する可能性は低そうだが。
ところで、operaurl://~ とかいうハンドラもあるんだろうか?
Re:検証パターン (スコア:2, すばらしい洞察)
なので、IEは悪用されやすいルートだとは思うけど、それに注目させているのはミスリードだと思う。
なので、検証すべきパターンとしては...。
エクスプローラー から firefoxurl://~ を踏んだとき
ファイルを指定して実行ダイアログ から firefoxurl://~ を踏んだとき
あらゆるURIマッピングを使っているプログラム から firefoxurl://~ を踏んだとき
だとおもうがいかが?
Re:検証パターン (スコア:2, 参考になる)
batファイルならstartコマンドに渡せばIEと関係なく呼び出せます。
その他スクリプト等からもIEと関係なく呼び出せます。
Re:検証パターン (スコア:1)
手元の環境Mac OS X 10.4 Tigerで、
Firefox 2.0の動作と、Camino 1.5の動作は同じに見えました。
Macで、Safari (βじゃない方)からみたときは、問題ないようです。
Re:検証パターン (スコア:0)
あれはcontentTypeですた。
Re:検証パターン(スコア:-1, シモネタ) (スコア:2, おもしろおかしい)
デキちゃったり、感染っちゃったり…ガクガク(((( ;゚Д゚))))ブルブル
詳しいことは分からんけど (スコア:0, 荒らし)
「こうすれば IE 使ってる奴らにリンク先を Firefox で開かせることができちゃうぞ。バンバン使って布教よろしく」
ってなことを実現するために Firefox が仕組んだギミックに穴があったんだべ?
つーことは主な責任ってか根本の原因は Firefox にあるんだべ?
ま、それでも IE 叩きに熱心な方々は嬉々として IE を叩くのでしょうが…
何のためにあるの? (スコア:0)
そのあたりご存知の方はいません?
無効にする方法で、とりあえず穴を塞いでおく、ということはできますが、
それによる副作用がさっぱりわからない。
Re:何のためにあるの? (スコア:3, 参考になる)
firefoxurl: のコードは、 Windows Vista で Firefox (や Thunderbird?) をシステムのデフォルトにできないというバグ (Mozilla Bugzilla Bug 354005) [mozilla.org] への対処として入っているので、 Vista で問題が生じるのではないかと思います。
Windows XP では firefoxurl: な URL を無効にしても、現時点で僕のところでは問題は起きていません。 Vista は未確認です。
Re:何のためにあるの? (スコア:1)
FirefoxでURI開くためじゃないですかね。
直し方 (スコア:0)
Windowsのプロトコルハンドラ周りはFirefoxのインストーラー(Null Soft Installer)が設定しているので、正しい(?)インストーラーをもう一度起動しないと無理な気がします。つまり、ソフトウェアアップデートでは無理なんじゃないかなぁ、と。
Re:直し方 (スコア:0)
初回起動時に危険な設定なら確認するようにすれば良いわけですから。
インストーラー側だけじゃなくFirefox側の関連付け設定もちゃんとしないと多分だめですよね?
それに元々は引数をちゃんとチェックしないで高い権限で開くというセキュリティホールが原因なわけですし。
# 単なるレジストリ編集ですし。Firefoxからも可能かと。要Admin権限ですけど。
Re:直し方 (スコア:0)
http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whit [mozilla.org]
またかよって思って (スコア:0)
せめて日付を書いて欲しいな。
Re:HKCR\FirefoxURLを削除するときの注意 (スコア:3, 参考になる)
と書いたのは、僕のところではレジストリーの HKCR\FirefoxHTML に「URL Protocol」という名前の値が存在せず、実際 firefoxhtml:…… という URL が認識されなかったからです。ところが、 Thor Larholm さんの記事に対するコメント [larholm.com]に「実証コードは firefoxurl: だと効かなかったけれど、 firefoxhtml: に直したら効いた」と書かれているのを知りました。
もしも firefoxhtml:…… で効くなら、 FrSIRT に書いてある通り HKCR\FirefoxHTML も削除する必要があると思います。
これが本当だとしたら原因がわからず不思議で、僕はにわかには信じられないのですが、ともかくそういう報告もあったということで。