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

Firefox 2.0.0.5リリース 37

ストーリー by Acanthopanax
パッチ当てはお早めに 部門より

Anonymous Coward 曰く、

2007年07月17日付けでFirefox 2.0.0.5がリリースされた。先日ストーリーになったURIハンドラを悪用される脆弱性などについてセキュリティアップデートがなされているということだ(セキュリティアドバイザリ(日本語))。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by masakun (31656) on 2007年07月18日 23時51分 (#1192055) 日記
    Mozilla Foundation セキュリティアドバイザリ、MFSA 2007-23: Internet Explorer を通じた Firefox の起動を利用したリモートコードの実行 [mozilla-japan.org]によると

    この脆弱性は、ユーザが悪質な Web ページを Internet Explorer で閲覧し、特別に作り込まれたリンクをクリックした場合に引き起こされます。そのリンクによって、Internet Explorer はコマンドライン経由で他の Windows プログラムを起動し、悪質な Web ページからそのプログラムに、引用符をエスケープせずに URL を渡します。Firefox と Thunderbird も、この方法で起動可能なアプリケーションに含まれており、いずれも悪意のあるソフトウェアを実行するのに利用される可能性のある「-chrome」オプションをサポートしています。

    注意: 他の Windows アプリケーションもこの方法で呼び出すことが可能であり、悪質なコードの実行に利用される可能性があります。今回の修正は Firefox や Thunderbird に危険なデータが渡るのを防ぐだけであり、Internet Explorer の脆弱性は修正されません。

    とあって「IEの問題だけど仕方なくこっちで個別に対応したよ」と読めるのですが、URIハンドラを悪用される脆弱性は結局どのソフトウェアの問題だったのでしょうか :-D

    --
    モデレータは基本役立たずなの気にしてないよ
    • by Anonymous Coward on 2007年07月19日 0時10分 (#1192061)
      引数を偽装できるIEとそのまま渡してしまうWindowsの両方、かな。さすがに、これが仕様だとマズイと思う。

      今回のFirefoxの修正は、プロトコルが"FirefoxURL"の時だけチェックしているので、他の場合では、同じような脆弱性が引き起こされるはず。例えば、IEと同じ脆弱性があるチャットクライアントがあったとして、そいつが(FirefoxURLの代わりに)HTTPハンドラでFirefoxを呼び出すと、同じ脆弱性で引っかかる。その場合は、そのチャットクライアントの脆弱性とも言えるし、Windowsの脆弱性とも言える。

      が、差し当たってそれをFirefox側から直すのは不可能だし、そういう意味でIEの穴もWindowsの穴も塞がっていない。だから、Firefox以外のプロトコルハンドラを登録しているアプリケーションもIEから任意のコマンドライン引数で起動される可能性がある。
      親コメント
      • --というオプションを用意して、そこから後ろはオプションとして認識しないようにすればいいのでは。
        親コメント
        • by Anonymous Coward on 2007年07月19日 18時11分 (#1192482)
          --というオプションを用意して、そこから後ろはオプションとして認識しないようにすればいいのでは。
          "--"をどこに挿入すればいい?という問題になりそうな。今回のFirefoxの対処はこんなん。

          呼び出し時の引数
          -url "%1" -requestPending
          -requestPending -osint -url "%1"
          に変更して、「-osintがある場合-urlの後の引数の数は1個まで」という制限を設けたようです。
          親コメント
      • つまり、外部のプロトコルハンドラを引数付きで実行できること自体が脆弱性ってことになるな。
        • by Anonymous Coward on 2007年07月19日 1時42分 (#1192107)
          もっと詳しく言うと、IEのは、クオーテーションマークの取り扱いだけどね。
          protocol:dummy" 'arg1' "arg2
          をノーチェックでURLとして
          foo.exe "%1"
          に代入するから、最終的なコマンドラインが
          foo.exe "protocol:dummy" 'arg1' "arg2"
          になってしまう。
          親コメント
      • FirefoxURLはFirefoxが勝手に入れる要素なんだから偽装された引数の脆弱性チェックはFirefoxの仕事でしょ?

        CGIに対して偽装したフォームでpostしてセキュ穴開いたら、それはブラウザのせいでもHTTPサーバのせいでもなくCGIの脆弱性なんだから。
        • オプションが渡されたら、それを忠実に解釈するのがfirefoxの仕事
          それが正しくても、正しくなくても。

          alias rm='rm -rf /'

          rm hogehoge

          で、ディスクがすっ飛んだ時、悪いのはrmじゃないだろう?
          もちろん、そういうケースも想定してより安全な動作をするのは好ましいけど
          オプションの意味を理解して制御するのは難しい仕事だね

          • その例えだと、

            - alias 機能を提供しているのが Windows
            - rm の alias を定義したのは Firefox
            - rm を実行したのは IE

            になっちゃうと思うんだけど、それで OK?
            • 全くOKじゃない、それでは意味が分からないでしょう?
              元コメントをあなたの表現に当てはめて解釈するなら以下のような感じかと。

              ・(脆弱な)alias 機能を提供しているのはIE(Windows)
              ・rm の alias を定義するのは攻撃者
              ・rm の(不正な)alias を実行するのもIE(Windows)
              ・rm が Firefox

              で、Firefox は渡された引数を正しく実行しただけなので、悪いのは IE(Windows)ということかと。
              親コメント
              • by Anonymous Coward on 2007年07月19日 16時10分 (#1192424)
                あえて例が適切じゃないことを言いたかったんだけどね...

                > - alias 機能を提供しているのが Windows
                > ・(脆弱な)alias 機能を提供しているのはIE(Windows)
                括弧内を除けば、同じことを言ってますよね。

                > - rm の alias を定義したのは Firefox
                > ・rm の alias を定義するのは攻撃者
                これは半分は同意するんですが、
                [HKEY_CLASSES_ROOT\FirefoxURL_DISABLED\shell\open\command]
                @="C:\\PROGRA~1\\MOZILL~1\\FIREFOX.EXE -url \"%1\" -requestPending"
                というハンドラを定義したのは Firefox のインストーラな訳で、どちらかというと攻撃者は %1 である hogehoge を渡す側の立場とは考えられませんか?

                > - rm を実行したのは IE
                > ・rm の(不正な)alias を実行するのもIE(Windows)
                これも同じことを言ってますよね。

                >・rm が Firefox
                これは私は端折りましたが、もちろん同意です。

                結局外部からのコマンドの起動を許すべきかと、外部からの信用できない入力文字列を誰が無害化するかという話ですよね?

                まず私は URL ハンドラそのものが脆弱だとは思っておらず、定義を行う側が「使いようによっては危険である」ことを認識して、安全に使うように配慮するべきではないかと思っています。微妙なところではありますが...

                引数の渡し方としては、例えば SQL の parameterized query のように、フレームワークである Windows/IE が安全に引数を渡す方法を定義する方がいいとは思いますが、それが期待できない状況では最終的に処理する側が実装するべきだと思っています (で、Firefox は実装したわけですが)
                親コメント
    • by AIMTDL (22183) on 2007年07月19日 2時16分 (#1192116)
      THE 盥回し

      だけど、おいしいところいただいちゃった☆

      って感じ。

      そもそも、Firefoxを導入さえしなければ縁の無い脆弱性なんだけども。
      これってFUD?
      親コメント
  • 欧州でFirefox 2がIE7のシェアを逆転 - @IT
    http://www.atmarkit.co.jp/news/200707/18/firefox.html

    なんてニュースがあるけど、ユーザが増えるとその分悩みも大きくなっていくんでしょうね。
    まだ多数の人はIE6使ってるみたいだけど。
  • by Anonymous Coward on 2007年07月18日 23時43分 (#1192050)
    Firefox 2.0シリーズは使っていないのですが、このへんの変更はどうなっているのでしょうか?
    教えて!偉い人~!
  • by Anonymous Coward on 2007年07月19日 13時23分 (#1192321)
    最近のOSのアップデートのせいかFirefoxのせいかわからないがFlashが再生されなくなった。
    Firefoxトラブルシューティングので直る。http://wiki.mozilla.gr.jp/wiki.cgi?page=Firefox+%A5%C8%A5%E9%A5%D6%A5%... [mozilla.gr.jp]
    Flashの再生にQuickTimeを指定するなということらしい。
  • by Anonymous Coward on 2007年07月21日 0時55分 (#1193233)
    私がWindows Vistaを導入して初めてのアップデートでした。
    ・アップデート通知が来たのでそのまま差分ダウンロード
    ・後で更新をしようと思ったまま忘れてしまい終了(シャットダウン)
    ・次回起動時(さきほど)アップデータが動き出そうとしてUACが警告を出してきたので許可
    ・一向に更新が進まないので強制終了
    ・ここで思い出して「管理者として起動」
    ・「アップデートに失敗したので完全ダウンロードします」といって完全ダウンロード
    ・アップデータが動き出すあたりでもう一度UACの警告→許可
    でアップデート完了でした。

    差分ダウンロードが完了したところで「後で」を選択、終了後、「管理者として起動」すれば差分更新もうまくいったのかもしれませんが、そのあたりは不明です。
  • by Anonymous Coward on 2007年07月21日 10時25分 (#1193415)
    Thunderbird 2.0.0.5 [mozilla-japan.org]も7月19日付で出ましたね。
typodupeerror

犯人はmoriwaka -- Anonymous Coward

読み込み中...