Mozilla Foundation セキュリティアドバイザリ 2006-33
- タイトル
- HTTP レスポンスの不正な挿入
- 重要度
- 高
- 公開日
- 2006/06/01
- 報告者
- 奥一穂氏 (サイボウズ・ラボ)
- 影響を受ける製品
- Firefox
- Thunderbird
- SeaMonkey
- 修正済みのバージョン
- Firefox 1.5.0.4
- Thunderbird 1.5.0.4
- SeaMonkey 1.0.2
概要
Firefox で特定のプロキシサーバを使用した場合に HTTP レスポンスを不正に挿入できることが、サイボウズ・ラボの奥一穂氏によって、日本の情報処理推進機構 (IPA) を通じて報告されました。
最初に報告された手法は、以前は様々な実環境にあるサーバに対応するため必要とされていた、HTTP ヘッダ構文に関する Mozilla 製品の寛大な処理を利用したものです。これは、ヘッダ名とコロンの間に空白文字を含む HTTP ヘッダの受け入れに関する問題です。厳密な構文チェックを行う最近のプロキシは、これらを不正なヘッダとして無視しますが、Mozilla 製品はこれを受け入れて、1 つの長いレスポンスを 2 つの短いレスポンスとして解釈してしまいます。悪質なホスト上にあるページが Firefox に対して、悪質なサイトと攻撃に利用されるサイトへの 2 つのリクエストを連続して発行させることができた場合、悪質なサイトから返されるレスポンスの 2 番目の部分が、攻撃に利用されるサイトからのレスポンスとして解釈されてしまいます。そのレスポンスには、ユーザが攻撃に利用されるサイトのアカウントを持っていた場合に、ログイン用 Cookie などの機密情報を盗み取ることができる Web ページが含まれる可能性があります。
もうひとつの手法は、よく使われる Squid などの HTTP 1.0 プロキシを通じて HTTP 1.1 ヘッダを送信することで同様の攻撃を行うものです。プロキシは未知の 1.1 ヘッダ (例えば「Transfer-Encoding: chunked」) を無視しますが、Mozilla 製品はこれを受け入れて、同じように 1 つの長いレスポンスを 2 つの短いレスポンスとして解釈してしまいます。
ユーザがプロキシを通じて Web にアクセスしていない場合でも、これらの攻撃を仕掛けることは可能ですが、攻撃が有効なのは、悪質なサイトが攻撃に利用されるサイトと同じ IP アドレス上にあった場合のみです。
注意: Thunderbird は Firefox と同じブラウザエンジンを利用しており、JavaScript が有効になっている場合には影響を受けます。デフォルト設定では無効になっており、メールを表示する際は JavaScript を実行させないよう強く推奨します。
回避策
修正版にアップグレードしてください。
参考資料
https://bugzilla.mozilla.org/show_bug.cgi?id=329746
https://bugzilla.mozilla.org/show_bug.cgi?id=330214
JVN#62734622 - Mozilla Firefox において HTTP ヘッダ名解釈に関してレスポンス分割が可能な脆弱性 (JVN)
「Mozilla Firefox」において HTTP ヘッダ名解釈に関してレスポンス分割が可能な脆弱性 (IPA)
JVN#28513736 - Mozilla Firefox において HTTP 1.0 解釈に関してレスポンス分割が可能な脆弱性 (JVN)
「Mozilla Firefox」において HTTP 1.0 解釈に関してレスポンス分割が可能な脆弱性 (IPA)