Mozilla Foundation セキュリティアドバイザリ 2006-42

タイトル
UTF-8 ページで BOM を使ったクロスサイトスクリプティング
重要度
公開日
2006/06/01
報告者
Masatoshi Kimura
影響を受ける製品
Firefox
Thunderbird
SeaMonkey
修正済みのバージョン
Firefox 1.5.0.4
Thunderbird 1.5.0.4
SeaMonkey 1.0.2

概要

Web ページがパーサによって解析される前に、Unicode への変換過程で UTF-8 のページからバイトオーダーマーク (BOM) が欠落してしまうことが、Masatoshi Kimura 氏によって報告されました。その結果、パーサがスクリプトタグを解析すると、Web ページのコメントモードに含まれる「scr[BOM]ipt」のように見えることから、Web 入力サニタイザがそのタグを見落としてしまいます。

Firefox 1.5.0.4 以降では問題は修正されており、そうしたスクリプトタグは無視されるようになっていますが、Web サイトには今後も古いバージョンの Firefox や Mozilla ブラウザがアクセスし続けるかもしれません。Web サイト側でクロスサイトスクリプティングを防止するには、文字エンコーディングを明示的に UTF-8 以外に指定するか、サイトの入力サニタイザの範囲内に Unicode バイトオーダーマークを追加してください。

注意: Thunderbird は Firefox と同じブラウザエンジンを利用しており、JavaScript が有効になっている場合には影響を受けます。デフォルト設定では無効になっており、メールを表示する際は JavaScript を実行させないよう強く推奨します。

回避策

ユーザは、修正版にアップグレードするまで、入力フォームのあるサイト上では JavaScript を無効にすることで、この問題を防ぐことができます。

Web サイト側では、Web 入力から BOM を欠落させるか、可能な場合、文字エンコーディングを UTF-8 以外に指定することで、サイトにアクセスするユーザを保護することができます。

参考資料

https://bugzilla.mozilla.org/show_bug.cgi?id=335816