Mozilla Foundation セキュリティアドバイザリ 2007-05
- タイトル
- ブロックされたポップアップを開くことによる XSS とローカルファイルへのアクセス
- 重要度
- 中
- 公開日
- 2007/02/23
- 報告者
- shutdown、Michal Zalewski
- 影響を受ける製品
- Firefox
- SeaMonkey
- 修正済みのバージョン
- Firefox 2.0.0.2
- Firefox 1.5.0.10
- SeaMonkey 1.0.8
概要
ブロックしたポップアップウィンドウを開くようユーザを仕向けることで、ソースが「data:」形式のフレームを含むサイトに対してクロスサイトスクリプティング攻撃を実行できることが、shutdown 氏によって報告されました。この攻撃を実現するには、攻撃者は自分のサイト上で、ターゲットとするサイトと、そのサイトとまったく同じ「data:」形式の URL を、それぞれフレームに読み込んだ上で、「data:」形式の URL のフレームから「javascript:」形式の URL でポップアップを開く必要があります。この説明に該当するような著名サイトが存在するかどうかは不明です。
類似の問題として、Web ページは通常ローカルファイルを含むウィンドウを開けないにもかかわらず、ブロックされたポップアップをユーザに開かせることでこの制限を回避できることが、Michal Zalewski 氏によって報告されました。この脆弱性を利用するには、攻撃者は悪質なスクリプトを含むローカルファイルのフルパスを事前に知っている必要があります。また、疑似的に乱数を生成するコードの脆弱性により、ダウンロードされたファイルが、合理的に予測可能な名前で一時ファイルに保存されることも、同氏によって報告されました。この 2 つの問題を組み合わせれば、ローカルディスクに保存されている情報を盗み出すことが可能です。
回避策
ブロックされたポップアップウィンドウを個別に開かないようにしてください。代わりに、それらは無視するか、サイトごとにポップアップの許可を設定してください。
参考資料
CVE-2007-0780
https://bugzilla.mozilla.org/show_bug.cgi?id=354973
CVE-2007-0800
https://bugzilla.mozilla.org/show_bug.cgi?id=369390