パスワードを忘れた? アカウント作成
15871 story

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, おもしろおかしい)

    by masarakki (33893) on 2007年07月12日 12時33分 (#1188387)
    >FirefoxとIEの両方をインストールしている方は
    IEを完全にアンインストールする方法を・・・

    #できたらどれだけ嬉しいか
  • by Anonymous Coward on 2007年07月12日 12時50分 (#1188397)
    2.0.0.4ですが、とりあえず、IE6でデモページ見ると、「外部プロトコルの要求」っていうのが出てきたのですが、 これをキャンセルすれば安全ということ?それとも私は既に死んでいる?
    • by tietew (6130) on 2007年07月12日 13時04分 (#1188410) ホームページ
      Firefoxを起動中にやってもうまくいきませんでした。
      Firefoxを終了してから件のページをIEで開いたらコマンドプロンプトが出現しました。
      これは確かにかなり危険だ。
      # その後firefox.exeがゾンビ状態に……
      親コメント
      • by tietew (6130) on 2007年07月12日 13時09分 (#1188414) ホームページ
        っていうかそもそも、まともなエスケープ方法が定義されていないWindowsのコマンド引数の受け渡し方法(UNIXと違って単一の文字列で受け渡すしかない。MS-DOSやCP/Mの時代からの遺産なんだけど)に問題があると思う。 プログラム毎にクオートの解釈が違うし。 # まあ、今更仕様変更も難しいが
        親コメント
        • by watson (11986) on 2007年07月12日 16時15分 (#1188508)
          コマンドライン引数のエスケープに関してはその通りだと思いますが、今回の件に関して言えば、「"」やスペースのようにURLとして許されない文字が含まれていたらURLエスケープする(%22や%20にする)というのが妥当な気がします。ShellExecuteExでURLハンドラを起動した場合、httpやmailtoのような既知のスキーマに対してはそのように処理するものの、未知のスキーマに対してはこの処理を行わないようです。

          既存のURLハンドラを使っているアプリケーションで、URLエンコードをされた文字列を扱えないものが正しく動かなくなってしまいますが、そもそも名前からしてURLハンドラなんですし。
          親コメント
          • ShellExecuteExでURLハンドラを起動した場合、httpやmailtoのような既知のスキーマに対してはそのように処理するものの、未知のスキーマに対してはこの処理を行わないようです。

            僕の理解では、 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: で動作が違うのはそのためだと思います。

            親コメント
          • いや、名前から判断できるものじゃないでしょ。
      • Firefoxを起動中にやってもうまくいきませんでした。
        Firefoxを終了してから件のページをIEで開いたらコマンドプロンプトが出現しました。
        うちでは終了してからやっても外部プログラムが必要であることを警告するダイアログがでてきた、
        about:configの何かに依存するのだろうか?(なんか以前のfirefoxの脆弱性のトピックの時に設定したようなおぼろげな記憶が)

        #というかああいうダイアログが出るときはよからぬことが起きるので自動的に「却下」ボタンを押すのが正解かねぇ。
        #デモページも信用しないのよ~
      • >Firefoxを終了してから件のページをIEで開いたらコマンドプロンプトが出現しました。

        だめだ、起動しているときと同じように(しかし引数が超短い)ダイアログが出るのでCancelする猶予がある。
        むむむ・・・。
  • Thunderbird URL (スコア:3, 興味深い)

    by level (13054) on 2007年07月12日 12時23分 (#1188376) ホームページ 日記
    フォルダオプションでファイルの種類をみるとThunderbird URLというのも登録されているのですが、こちらは大丈夫なんでしょうか?
    • by Anonymous Coward
       そもそもこの特殊なアクセスメソッドはなんのためにあるんだ?
  • IE7 + lolifox 0.3.2 (スコア:2, 参考になる)

    by miyabi9821 (29975) on 2007年07月12日 14時26分 (#1188466)
    IE7+lolifoxで試してみても何も起こらないので良かった。
    と思いつつlolifoxのバージョンを見たら0.3.0。
    試しに0.3.2にバージョンアップしてみたら、コマンドプロンプトが開きました。

    firefoxよりバージョンアップが遅いような気がするので、
    対策は取っておいた方がよさそうですね。
    • by miyabi9821 (29975) on 2007年07月12日 17時02分 (#1188531)
      追記ですが、該当のレジストリはfirefoxと同じ場所にあります。
      削除してみたところ、URLエラーが出るだけでIEでもlolifoxでも何も起こらないことを確認しました。
      # といっても、lolifoxユーザーは少数だろうなぁ。
      親コメント
  • by Alef_F (27309) on 2007年07月12日 15時04分 (#1188481)
    >この脆弱性の大きな特徴は、FirefoxだけでなくIEで攻撃ページにアクセスした場合にも悪用されるということ。
    CNETの記事にはこんなことは書かれていないんですけど。

    >攻撃者は、悪質なサイトをユーザーにIEで閲覧させることで、「firefoxurl://」というURLハンドラを利用しながら、ブラウザとウェブ上の特定のリソースとの間でやりとりをさせることが可能になる。
       :
    >それぞれスタンドアロン製品としては安全だが、一緒になるとそうでなくなる
    どう考えてもタレコミの記述は記事と矛盾してる。
    • Re:間違ってるぞ (スコア:1, 参考になる)

      by Anonymous Coward on 2007年07月12日 16時00分 (#1188502)
      元記事もごちゃごちゃしててよくわからないんだが、他のコメントも総合すると

      ・FirefoxとIEを両方インストールして
      ・IE(というかエクスプローラ)にFirefox用のハンドラを登録して
      ・Firefoxを起動していない状態でIEで悪意あるURLを踏む

      ことが条件でいいのかな?
      # OperaやMac版IEで悪意あるURLを踏んだ場合は不明、と
      親コメント
      • by Anonymous Coward
        >・FirefoxとIEを両方インストールして
        そもそも今サポートされているIEはWindowsオンリーなのだから、
        「IEをインストールして」という記述は要らないと思う。

        >・IE(というかエクスプローラ)にFirefox用のハンドラを登録して
        >・Firefoxを起動していない状態でIEで悪意あるURLを踏む

        んーと、つまりこれは、IEでfirefoxを独自ハンドラで呼び出して、
        いわばreal playerのように使っているという事?
        今時ramファイル開いてハンドルを目にする事なんかないから、却って解りにくい…。
        要は、Lotus Notes URI Handler Argument Injection Vulnerability [idefense.com]と似た問題ということ
  • これは (スコア:1, おもしろおかしい)

    by Anonymous Coward on 2007年07月12日 15時21分 (#1188488)
    これはあれだ、「合体技」ってやつですね。ライバル関係にあったIEとFirefoxが協力するという。そして強敵「ユーザ」を撃破する、と。これは燃える。

    もしかして、最終回も近い? それともテコ入れ?
    • by Anonymous Coward
      いえいえ、まだ序盤です。
      この後OperaやSafariやw3mあたりも合流して
      5人のチームになってからが本番ですよ。
      • by Anonymous Coward
        >この後OperaやSafariやw3mあたりも合流して
        >5人のチームになってからが本番ですよ。

        その5人を「熱血」「クール」「知力」「怪力」「お色気」のタイプに当てはめるとすると、どれがどれになるんですか?
        • by Anonymous Coward
          「熱血」 IE
           熱い脆弱性を秘めた心を持つ男 IE
           ブラウザーーーレーッド
           常にレッドランプ点灯中


          あとよろしく
        • by Anonymous Coward
          赤:Firefox
          青:Lynx
          黄:w3m
          緑:Opera
          桃:Safari

          黒十字軍:IE
        • by Anonymous Coward
          それでは選手入場です!

          「熱血」・・・真っ赤な炎のように熱く燃えたぎる!ファイアーーーーーーーフォッーーーークス!
          「クール」・・・胸に輝く青い「e」の文字!インターネットエクスプローーラーーーー!
          「知力」・・・コンソールモニタにほのかに浮かぶ緑文字!リーーーーーーンクス!
          「怪力」・・・イベントビューワを埋めつくす黄色の警告!サファーーーーーーリ!
          「お色気」・・・元祖タブブラウザでエロサイトをがんがん開けろ!お色気担当オペーーーーーラ!
      • by Anonymous Coward
        6人目は?
  • by MVA (6994) on 2007年07月13日 9時14分 (#1188804)
    mozilla.orgのcvsに、FIREFOX_2_0_0_5_RELEASE というタグが
    できていますね。
    近いうちに、2.0.0.5がリリースされるのかもしれません。

    # 今回の問題が解消されているかは、未確認ですが。
  • by Anonymous Coward on 2007年07月12日 12時17分 (#1188373)
    @MS Windows 限定?
  • by Anonymous Coward on 2007年07月12日 12時40分 (#1188390)
    URIハンドラとURLハンドラの違いを教えてください。
    • by Stealth (5277) on 2007年07月16日 20時42分 (#1190790)

      URN を含めるかどうか。

      # urn: から始まらない「適切な」URI は全部 URL とか覚えておけば簡単? telnet: とか mailto: とか nntp: とか。

      親コメント
  • by Anonymous Coward on 2007年07月12日 13時11分 (#1188415)
    - IE から firefoxurl://~ を踏んだとき
    - Firefox から firefoxurl://~ を踏んだとき
    - Opera から firefoxurl://~ を踏んだとき
    - safari から firefoxurl://~ を踏んだとき

    ん~、他にもあるかな?
    IE から踏んだときだけが問題だというなら、普段 IE を使ってない人がこの問題に遭遇する可能性は低そうだが。
    ところで、operaurl://~ とかいうハンドラもあるんだろうか?
    • Re:検証パターン (スコア:2, すばらしい洞察)

      by Anonymous Coward on 2007年07月12日 20時11分 (#1188606)
      URIマッピングって、IEじゃなくてWindowsのOS機能だと思うのだが...。
      なので、IEは悪用されやすいルートだとは思うけど、それに注目させているのはミスリードだと思う。

      なので、検証すべきパターンとしては...。
      エクスプローラー から firefoxurl://~ を踏んだとき
      ファイルを指定して実行ダイアログ から firefoxurl://~ を踏んだとき
      あらゆるURIマッピングを使っているプログラム から firefoxurl://~ を踏んだとき

      だとおもうがいかが?
      親コメント
    • Re:検証パターン (スコア:2, 参考になる)

      by kcg (26566) on 2007年07月13日 1時15分 (#1188727) ホームページ 日記
      エクスプローラWindowsのショートカットにも入れられます。
      batファイルならstartコマンドに渡せばIEと関係なく呼び出せます。
      その他スクリプト等からもIEと関係なく呼び出せます。
      親コメント
    • by ticky (17030) on 2007年07月12日 16時52分 (#1188527) 日記
      デモページでどうなるのが、期待通りなのかよくわからないけど、
      手元の環境Mac OS X 10.4 Tigerで、
      Firefox 2.0の動作と、Camino 1.5の動作は同じに見えました。

      Macで、Safari (βじゃない方)からみたときは、問題ないようです。
      親コメント
    • by Anonymous Coward
      なんかちょっと前にスキンの脆弱性があったような…と思ったら、
      あれはcontentTypeですた。
  • by Anonymous Coward on 2007年07月12日 13時46分 (#1188442)
    よーするに、サイト作成者に対して
    「こうすれば IE 使ってる奴らにリンク先を Firefox で開かせることができちゃうぞ。バンバン使って布教よろしく」
    ってなことを実現するために Firefox が仕組んだギミックに穴があったんだべ?
    つーことは主な責任ってか根本の原因は Firefox にあるんだべ?

    ま、それでも IE 叩きに熱心な方々は嬉々として IE を叩くのでしょうが…
  • by Anonymous Coward on 2007年07月12日 14時01分 (#1188452)
    firefoxurl:// っていう URI ハンドラはどういう目的でインストールされているんでしょう?
    そのあたりご存知の方はいません?

    無効にする方法で、とりあえず穴を塞いでおく、ということはできますが、
    それによる副作用がさっぱりわからない。
  • by Anonymous Coward on 2007年07月12日 14時06分 (#1188455)
    これって、Firefox側から直せるんですかね?

    Windowsのプロトコルハンドラ周りはFirefoxのインストーラー(Null Soft Installer)が設定しているので、正しい(?)インストーラーをもう一度起動しないと無理な気がします。つまり、ソフトウェアアップデートでは無理なんじゃないかなぁ、と。
    • by Anonymous Coward
      Firefoxから自分専用に関連付けを行える仕様なわけですから別に問題ないかと。
      初回起動時に危険な設定なら確認するようにすれば良いわけですから。
      インストーラー側だけじゃなくFirefox側の関連付け設定もちゃんとしないと多分だめですよね?
      それに元々は引数をちゃんとチェックしないで高い権限で開くというセキュリティホールが原因なわけですし。

      # 単なるレジストリ編集ですし。Firefoxからも可能かと。要Admin権限ですけど。
    • by Anonymous Coward
      どうも、 bug 384384 [mozilla.org] で直るみたいだ。
      http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whit [mozilla.org]
  • by Anonymous Coward on 2007年07月12日 14時27分 (#1188467)
    またかよって思って読んでみたら、7月10日リリースの情報じゃないのかよ。

    せめて日付を書いて欲しいな。
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...