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

Mozilla Firefox1.0.3に最高レベルの脆弱性 90

ストーリー by yoosee
炎上 部門より

mew曰く、"Secunia のアドバイザリによれば、現時点で最新リリース版のMozilla Firefox 1.0.3に二つの脆弱性が存在し、既に Exploit code も公開されている。 二つの脆弱性を合わせた重大度は、滅多に出ない最高レベル「Extremely critical」。 現時点でパッチは存在せず、対策は「JavaScriptを無効とすること」。

ひとつは「"IFRAME" JavaScript URL」に関するクロスサイトスクリプティング脆弱性。もうひとつは、リモートからのソフトウェアインストール機構(アドインや拡張など)に使われるJavaScript関数でのURL引数の検証漏れに起因する、任意JavaScriptコードの実行権限の奪取が可能となる脆弱性となっている。これらが組み合わさると、Firefoxユーザがこの脆弱性を利用したページの任意の箇所をクリックしただけで batch/exe 等攻撃コードが実行されてしまうようだ。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 関連記事です (スコア:4, 参考になる)

    by mew (23987) on 2005年05月09日 12時48分 (#732509)

    # いつも適切なタレコミ内容の補正ありがとうございます>編集者様

  • by Anonymous Coward on 2005年05月09日 12時36分 (#732506)
    > 既に Exploit code も公開されている
    その Explot code [frsirt.com] が非常に読みにくいのですが…。

    まず、コードのHTML部分はW3Cの仕様書に準拠させて下さい。
    JavaScriptの部分が乱雑で訳分からないので適切に改行や
    コメントを入れて読みやすくするように心がけて下さい。
    • Exploit code は読みにくく書くものなんですよ。
      分かる人には分かるようにコンパイルエラーになる構文を入れたりとか。
      親コメント
  • by Anonymous Coward on 2005年05月09日 13時14分 (#732528)
    JavaScriptを切る代わりに、software installationを無効にすることでもとりあえず回避できるようです。
    http://www.mozillazine.org/talkback.html?article=6582 [mozillazine.org]
  • by akudaikan (26016) on 2005年05月09日 14時11分 (#732549)
    複数の脆弱性の合わせ技であるわけだけど、よく見ると最後の部分である「batch/exe 等攻撃コードが実行」は脆弱性ではなく、Firefoxのデフォルトの機能ってことなの?
    何で、JavaScriptからbatch/exeの実行ができるような仕様になってるんだ?
    もしもこんな仕様でなければ、セキュリティレベルも高ぐらいで済んだんじゃないかと思うんだけどなあ。
    • by Anonymous Coward on 2005年05月09日 15時49分 (#732596)
      内部XULとウェブページと拡張機能とがどう区別されているのかは知らないが、基本的には「XULに埋め込まれたjavascriptからIDL経由で実行バイナリを走らせる」のがGeckoアプリの根幹かと。
      親コメント
      • XULが実行バイナリを走らせるという仕様はかまわないのだけど、WebからインストールされるXPIにまでそれができる必要はないと思う。
        XPIにbatch/exeをキックする機能が本当にいるのか。

        なんか今回の騒動を見ていると、XPIとsoftware installationの許可サイトが、IEにおけるActiveXとセキュリティゾーンの関係とダブって見える。
        software installationの許可サイトやセキュリティゾーンを偽装されると、たちまちチュドーン!とやられるのではユーザは安心してブラウズできないと思う。
        親コメント
    • > 何で、JavaScriptからbatch/exeの実行ができるような仕様になってるんだ?

      今さらですが、IE4との互換性を向上させてみました。

      ってなわけはないわな。
      親コメント
    • by esumi (15966) on 2005年05月09日 20時28分 (#732685)
      JavaScriptは別に通常のサイト閲覧時に読み込まれたHTML上で実行される
      だけの用途で使われる言語ではないですよ。

      今回の場合は、問題のコードを含む拡張機能等をエンドユーザが任意に
      インストールし有効にした際、想定しないプログラムが実行される
      可能性がある、という事だと思います。
      親コメント
      • 別に
        JavaScriptは通常のサイト閲覧時に読み込まれたHTML上で実行されるだけ
        とかは言ってないし、そこを問題にしているのではない。
        IFRAME→JavaScript→XPI→XPI内のJavaScript→batch/exeという流れでやられちゃうわけだよね?
        最終的にbatch/exeを起動できる仕様がダメなんじゃないのかと言ってるんだが。

        Exploit Codeで言うと、
        \\\\\\\\nPAUSE\\\\\\\';outputStream.write(output,output.length);outputStream.close();file.launch();
        の最後の部分である「launch();」こんなのができるのが問題なのではないかと。
        # batch/exeを起動しているのはこのlaunch()だと思うんだけど、外してたらゴメン。
        HTMLから始まってbatch/exeに到達できるルートがあるのはダメだと思う。
        親コメント
        • by mal (3063) <{mal.blue342} {at} {gmail.com}> on 2005年05月10日 11時06分 (#732894)
          > HTMLから始まってbatch/exeに到達できるルートがあるのはダメだと思う。

          Exploit Code で言うと、
          netscape.security.PrivilegeManager.enablePrivilege(\\\\\\\'
          UniversalXPConnect\\\\\\\')

          が問題になるんでしょう。個人的にはもうこれいらないと思うんですが。

          ただし、PrivilegeManager の正常動作の場合は、普通は警告が出まくるようになっています(cancel 可能)。Web 上だと about: config で signed.applets.codebase_principal_support を true にしなければ使うことさえできません。true にして対象の javascript を signed script にしても警告が出ます。ローカルファイル(file:) だと ON にしなくてもつかえますが、やはり警告が出ます。

          今回の脆弱性の2番目のもの、
          リモートからのソフトウェアインストール機構(アドインや拡張など)に使われるJavaScript関数でのURL引数の検証漏れに起因する、任意JavaScriptコードの実行権限の奪取が可能となる脆弱性となっている。

          これが、PrivilegeManager からの警告をスルーしてしまう大穴です。
          親コメント
          • なるほど、参考になりましたです。
            やはり、技術的に分かっている人の解説はいい!
            732879のACにも感謝。

            # しかし、記事の投稿から丸一日経って初めてExploit Codeの技術的な解説がなされるっていうのは、なんか寂しいよなぁ。
            親コメント
        • by esumi (15966) on 2005年05月10日 10時09分 (#732869)
          ご指摘の件についてはこちらの早とちりでした。お詫びいたします。

          最終的にbatch/exeを起動できる仕様がダメなんじゃないのか、とのこと
          ですが、XPI側の段階で、その機能をインストールするにはユーザーの意志決定が
          必要なのではないでしょうか。信頼の置けないサイトの提供する機能は
          インストールしない設定にしておけば防げるというような記事だったと思うのですが

          某OSを提供している大企業のどなたかも言ってましたけど、
          ユーザーが自分の意志で実行したりインストールしたりするのを防ぐ決定的な手段は
          私は無いと思います。
          信用の置けないサイトが提供する機能はインストールしない設定にしておくというの
          は、信用の置けないサイトが配賦しているフリーソフトウエアをダウンロードし
          インストールしないのと同じ事であり、ユーザ側の方で常に最低限、
          心がけるべき事なのではないでしょうか。

          個人的には悪意のあるコードが含まれるプログラムの実行前に、
          該当プログラムに対してユーザー側に明確な実行への意志決定が介在する
          のであるなら、結果への責任はそのユーザーが負うのが筋なのではないかと
          思っています。その脆弱性の為に完全にオート
          で(ユーザーの意志決定の介在余地無く)実行される類で無い限りは。

          もちろん、今回は脆弱性をついたコードという事なので、それを素早く埋める
          努力をするのは提供側の義務でもありますけど。
          親コメント
        • by Anonymous Coward on 2005年05月10日 10時37分 (#732879)
          > IFRAME→JavaScript→XPI→XPI内のJavascript...
          > という流れでやられちゃうわけだよね?

          違います。XPI内のjavascriptは何の関係もありません。

          > launch()
          そうです。

          しかしながら、仮にlaunchというメソッドがscriptableでなくなったとしても、依然として実行ファイルを実行する方法はありますし、他のセキュリティリスクが回避できるわけではありません。例えば、既存の実行ファイルとすげ替えることもできるので、スクリプト上からの実行を阻んだとしても、何の解決にもなっていないのです。(そのファイルがOSの起動ごとに実行されるシェルや実行ファイルである場合を想像してみてください。)

          webからXPCOMを使える状態にされた時点でこの勝負は「負け」です。逆に言うと、launch()メソッドの有無による安全性への影響はゼロです。
          親コメント
  • by Anonymous Coward on 2005年05月09日 14時36分 (#732562)
    現在はタレコミに書いてあるExploit codeは動作しません。当該ページにも書いてありますが。
    // Update (08.05.2005) - The Mozilla Foundation patched (partially) this
    // issue on the server side by adding random letters and numbers to the
    // install function, which will prevent this exploit from working.
    要するにupdate.mozilla.org側で生成されたランダムな文字列を推測or取得するようにコードを改変しないとexploitは成功しないのでしょう。

    私にはこのコード改変の難しさはわかりませんが、脆弱性に対してこのように多角的に対処する姿勢は見習いたいものです。
  • by yosukena (6066) on 2005年05月09日 18時14分 (#732648)
    対応済みの既知の脆弱性一覧 [mozilla-japan.org]を見ると、リリース後半年ぐらいで重要度「最高」が8件。
    まあ、1ヵ月1件のペースですかねえ。
    特に時が経ち、シェアが増えるにつれ、重要度の高い脆弱性の頻度もだんだんと上がってきている様子がうかがえるので、今後もちょっと注意が必要かもしれません。
  • by Anonymous Coward on 2005年05月09日 12時46分 (#732507)
    > 現時点でパッチは存在せず、対策は「JavaScriptを無効とすること」。

    さて、パッチ提供までどのくらいかかるか。セキュアを売りにしたブラウザの真価が問われますね。
    時間がかかるようなら「IEのほうがまし」とされてユーザー離れを招くでしょう。
    是非がんばっていただきたい。
    • by harupunte (10435) on 2005年05月09日 13時00分 (#732518) 日記
      こういうパッチを作成、適用、リリースを管理するグループの
      運営ってどうなっているのでしょうか。

      これが企業製品であれば、恐らく専門に対処する部署もしくは
      担当者が居るであろう事が想像され、担当者が出社の後、
      出社→対策検討→対処→テスト→リリース→アナウンスという
      ようなフローに乗る事が期待できるワケです。

      で、オープンソースである場合、担当者が別口で仕事を持って
      いる事が想像され、そちらが忙しかったりデスマだったりすると、
      上手に運営が流れないのじゃないかと心配になる。

      Firefoxなんか、問題があると影響度が多いソフトウェアなんか
      だと、専任部隊が居たりするのでしょうか。
      親コメント
      • by Elbereth (17793) on 2005年05月09日 15時47分 (#732594)
        >で、オープンソースである場合、担当者が別口で仕事を持って
        >いる事が想像され、そちらが忙しかったりデスマだったりすると、
        >上手に運営が流れないのじゃないかと心配になる。

        オープンソースの開発者は片手間にプロジェクトの仕事をしていると

        いうのは、そういうプロジェクトや開発者もいるだろうけど、
        そうではないものもありますね。
        有名で大規模なプロジェクトは専任の開発者をもっているところが
        ほとんどじゃないですかね。

        あと、
        >Firefoxなんか、問題があると影響度が多いソフトウェアなんか
        >だと、専任部隊が居たりするのでしょうか。
        という疑問については、とりあえず直接的な回答にはならないと思いますが
        「Mozillaのセキュリティバグの扱いについて」(訳) [mozilla.org]が参考に
        なるのではないでしょうか。
        2年以上前の文書なのでちょっと古くて現状とは違うかも知れないけど。
        Infoseekの機械訳 [infoseek.co.jp]は割と正確に訳せてていいんじゃないかと
        思います。
        親コメント
    • 先程、Jp版Firefoxでもやーっと1.0.3への自動更新が効くようになってほっとしていたんですが…途端にこれっすか。あうう。
      次の自動更新は速やかに行われる事を期待してます。
      親コメント
    • >時間がかかるようなら「IEのほうがまし」とされてユーザー離れを招くでしょう。
      で、どの程度の時間が掛かると「IEのほうがまし」なんでしょうか?
      • Re:実力のみせどころ (スコア:1, すばらしい洞察)

        by Anonymous Coward on 2005年05月09日 13時50分 (#732545)
        >で、どの程度の時間が掛かると「IEのほうがまし」なんでしょうか?

        IEのほうがましな気がしてくる程度の時間
        親コメント
  • by Anonymous Coward on 2005年05月09日 13時06分 (#732520)
    なのですが、Software Update で、未だに1.0.3が出てきません・・・
    • 一昨日の夜、ようやく日本語版Firefox 1.0.2の組み込みのアップデート機構が働いて1.0.3にアップデートできました。なんでリリースから3週間もかかったんだろう。

      次の1.0.4リリースはいつで、組み込みアップデートが1.0.4に反応するのはいつになるんでしょうね。ここしばらくは自分では使っても他人には勧めてません。

      親コメント
    • by Anonymous Coward on 2005年05月09日 15時10分 (#732575)
      いましがた、日本語版1.0.2からSoftwareUpdateで1.0.3にしました。折角なので予備知識が無い人がするような方法でUpdateをしてみました。(ウィザードで指示されたこと以外は何もしない)
      が、
      デスクトップ上のショートカットから起動させようとすると、画面が白いままで止まっています。(メニューバー等は表示されていますが、操作は不能)
      SafeModeで立ち上げると、きちんと起動し、その状態で通常のショートカットから起動させると立ち上がります。ただし、拡張機能は機能していません。
      う~ん、拡張機能の整合が取れていないようだ。
      まだまだ、人には勧めにくいかな・・・
      親コメント
  • ついでにメモリどんどん食っていっちゃうのも何とかしてくれないかな、と他力本願。いつの間にか150MBくらい食ってることも。全部タブ閉じて、about:blank しか表示してないのに。
    --
    屍体メモ [windy.cx]
  • by ef (25263) on 2005年05月11日 20時01分 (#733602)
    firefox-1.0.4 RC が作られたようです。
    Asa Dotzler on firefox, cats, mars, and more: 1.0.4 candidate builds [mozillazine.org]
    We've got 1.0.4 candidate builds. If you all can help us test these bits, and make sure we haven't regressed anything over 1.0.3, that'd be a big help. If you do encounter any new problems (issues you cannot reproduce in 1.0.3) please comment here ASAP. Thanks.
    • by znc (2768) on 2005年05月12日 16時32分 (#734003)
      1.0.4が公式に出ましたね。
      初出が5/8の様なので約100時間程度で解決した事になりますね。
      # まぁ、水面下でも作業していたので、実際にはたいして短縮して
      # いないのかもしれませんが

      さぁ、タレコミレースのスタートです(ぉぃ。
      # 私は棄権しておきますorz
      --
      『今日の屈辱に耐え明日の為に生きるのが男だ』
      宇宙戦艦 ヤマト 艦長 沖田十三氏談
      2006/06/23 JPN 1 - 4 BRA
      親コメント
typodupeerror

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

読み込み中...