Mozilla Foundation セキュリティアドバイザリ 2008-35

タイトル: Firefox が起動していないときに、コマンドライン URL によって複数のタブが開かれる
重要度: 最高
公開日: 2008/07/15
報告者: Billy Rios, Ben Turner, Dan Veditz
影響を受ける製品: Firefox

修正済みのバージョン: Firefox 3.0.1
  Firefox 2.0.0.16

概要

Firefox が起動していない状態で、パイプ ("|") シンボルを含むコマンドライン URI を Firefox に渡すと、複数のタブが開かれることが、セキュリティ研究者の Billy Rios 氏によって報告されました。この URI の分割を利用すると、外部アプリケーションによる chrome: URI の読み込みを制限することを意図した MFSA 2005-53 の修正を一部回避する形で (ただし、この脆弱性自体は修正されています)、コマンドラインからそうした URI が開かれる可能性がありました。

攻撃者はこの脆弱性を利用して、通常はベクターアプリケーションによって処理される URI を、そうしたアプリケーションによって処理されない URI に付加することで Firefox に渡すことも可能でした。例えば、Web ブラウザは通常、file: URI をブラウザ自体で処理し、また Web コンテンツからの読み込みを完全に制限しますが、この脆弱性を利用すれば、攻撃者はそうした URI を他のブラウザから Firefox へ渡すことが可能でした。Firefox 2 では、file: URI から実行されるスクリプトはユーザのハードディスク全体からデータを読み取ることが可能であり、攻撃者があらかじめ悪質なファイルをローカルディスク上の推測可能な場所に置くことができた場合にリスクが生じます。Safari のいわゆる「じゅうたん爆撃」脆弱性や、この修正済みの Safari の脆弱性に依存しない他の方法を利用して、この状態を作り出せることが、Rios 氏によって実証されました。

Firefox 3 では、ローカルファイル内で実行されるスクリプトは他のファイルへのアクセスが制限されており、このような file: 攻撃はほぼ完全に軽減されています。しかし、クロームドキュメントへのスクリプト注入を許してしまう脆弱性と組み合わせることで、上記の問題は、被害者のコンピュータ上で任意のコードを実行するのに利用される可能性がありました。そうしたクロームインジェクションの脆弱性が、Mozilla 開発者の Ben TurnerDan Veditz によって Firefox 3 に発見されました。Billy Rios 氏によって報告された攻撃を併用しない限り、このインジェクション攻撃が特権付きで実行されることはなく、せいぜいなりすましの脆弱性にしかなりません。

回避策

この攻撃は、ユーザがインターネットに接続された他のアプリケーションを使用中に Firefox が起動していない場合に限り成功します。Firefox を使うか、少なくとも起動させておくことで、この攻撃は回避できます。

参考資料

バグの詳細はユーザの更新が一段落するまで公開されません。