Mozilla Foundation セキュリティアドバイザリ 2007-37

タイトル
jar: URL スキーマによる XSS 問題
重要度
公開日
2007/11/26
報告者
Jesse Ruderman、Petko D. Petkov、beford.org
影響を受ける製品
Firefox
SeaMonkey
修正済みのバージョン
Firefox 2.0.0.10
SeaMonkey 1.1.7

概要

jar: URI スキーマは、デジタル署名された Web ページをサポートするための仕組みとして導入されたもので、Java アーカイブ形式の署名を含む ZIP アーカイブにパッケージされたページを Web サイトが読み込むことを可能にします。

この仕組みを利用すると、ZIP 形式のバイナリコンテンツをユーザがアップロードできるようにしているサイトでは、事実上誰でもそのサイトに Web ページをインストールすることが可能であり、このことがクロスサイトスクリプティング (XSS) 攻撃の実行に利用されるおそれがあります。この問題は Jesse Ruderman と Petko D. Petkov の両氏によって指摘されました。

また、リダイレクトを使うと、Mozilla ベースのブラウザは jar: コンテンツの提供元を正しく解釈できなくなり、そのコンテンツが実際の提供元ではなくリダイレクト先のサイトから提供されているかのように誤認されてしまうことが、beford.org のブロガーによって指摘されました。つまり、一般に公開されているリダイレクトサービスを利用すれば、アップロードを許可していないサイトに対しても XSS 攻撃を行うことが可能でした。

jar: URI スキーマのサポートは、application/java-archive または application/x-jarContent-Type ヘッダで送信されるファイルに制限されました。署名済みページを必要とする Web アプリケーションは、提供している .jar アーカイブがこれらの Content-Type で送信されているか確認してください。バイナリファイルをユーザがアップロードできるようにしているサイトでは、ファイルがこれらの MIME タイプで送信されないようにしてください。

参考資料