本文へジャンプ

WAS V4.0/V5.0/V5.1/V6.0/V6.1で、JSPのソースコードがブラウザーに表示されてしまう脆弱性

概要

公開日: 2007年3月28日
更新日: 2007年6月19日、更新概要は更新履歴を参照してください。

WASV4.0/V5.0/V5.1/V6.0/V6.1上のJSPに対して、細工を施したリクエストを送付することで、JSPファイルのソースコードが返される可能性があります。

現象

WebSphere Application Server ( 以下 WAS ) V4.0 / V5.0 / V5.1/ V6.0 / V6.1 に、JSPのソースコードがクライアントに表示される問題があることが報告されました。
この問題により、WAS V4.0 / V5.0 / V5.1/ V6.0 / V6.1上のJSPに対して、URLに細工を施したリクエストを送付することで、JSPの実行結果(HTML)ではなく、JSPファイルのソースコードがクライアント上に表示される可能性があります。

当問題につきましては2006年2月および8月に同様の不具合についてご案内していますが、その後新たな発生条件が確認されたため、お手数ですが対象バージョン、リリース、プラットフォームにつき、再度ご確認いただきます様よろしくお願いいたします。

発生条件:
以下の条件を全て満たしている場合に、URLに細工を施したリクエストを送付することで、JSPのソースコードがクライアントに表示されてしまう可能性があります。

  1. 問題発生対象レベルのWASを使用している。
  2. WebアプリケーションでJSPを使用している。
  3. Webアプリケーションでファイルサービスを利用している。(WASにデプロイしたWebアプリケーションにHTMLや画像などの静的コンテンツが含まれている)

WASのファイルサービスについてはこちらの文書をご参照ください。

影響範囲:
JSPのソースコードにDBへの接続やスキーマ名等、システム内部の情報が記載されている場合は、それらがリモートユーザーに参照されてしまう可能性があります。

クライアントでどのように表示されるかは、ブラウザやJSPファイルによって異なります。
IEでは、「ソースの表示」を実行するとソースコードが表示されます。
また、Firefoxでは、ブラウザの画面にソースコードが表示されます。

WAS 以外の製品への影響、対応について:
本情報ではなく、このページの一番下にある「他製品への影響、対応について」セクションに記載されているリンク先をご覧ください。

対象製品

対象プラットフォーム: Windows, AIX, Linux, Solaris, HP-UX

対象エディション: 全てのエディション

対象バージョン:V4.0, V5.0, V5.1, V6.0, V6.1

修正プログラム適用による詳細バージョンごとの情報については、【解決策】をご参照ください。

今回公開している問題発生対象レベルおよび解決策に関しては、前回公開した内容を全て含みます。再度過去の内容を参照する必要はございません。

確認方法

お使いのWASのバージョン、Fixレベルの確認方法については、こちらの文書をご参照ください。

対応方法

【回避策】
回避策については、ファイルサービスを停止する方法がありますが、アプリケーションの修正と再起動が必要となります。この回避策が適用できるかどうかを十分に検討の上、ご利用ください。基本的には、解決策となる修正プログラムの適用をお勧めします。

ファイルサービスの停止方法についてはこちらの文書をご参照ください。

【解決策】
以下のバージョン、プラットフォームごとの解決策をご参照ください。Servlet Caching、および、Extended Document Rootの使用の有無によって解決策が異なります。
指定の修正プログラム、または修正プログラムの集合である累積修正プログラムを適用してください。


バージョン、プラットフォームごとの解決策

V6.1.0.2 - 6.1.0.3 (Windows のみ):

Servlet Caching が有効になっている場合:

PK32374(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.1.0.5 以降を適用します。

Servlet Caching が有効になっている場合:

PK32374(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.1.0.5 以降を適用します。


V6.1 - 6.1.0.1:

Servlet Caching が有効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.1.0.5 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.1.0.2 以降を適用します。

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.1.0.2 以降を適用します。


V6.0.2.13 - 6.0.2.15 (Windows のみ):

Servlet Caching が有効になっている場合:

PK32374(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.17 以降を適用します。


V6.0.2.5 - 6.0.2.11:

Servlet Caching が有効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.17 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。


V6.0.2.3:

Servlet Caching が有効になっている場合:

PK32374(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.17 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が有効になっている場合:

PK32374(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。


V6.0.2.0 - 6.0.2.1:

Servlet Caching が有効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.17 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が有効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US) または PK22928(US) のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。


V6.0.0.2 - 6.0.1.2:

Servlet Caching が有効になっている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.17 以降を適用します。

Servlet Caching が無効になっている、かつ、Extended Document Root からファイル・サービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が無効になっている、かつ、Extended Document Root を使用していない場合:

PK23475(US) または PK22928 のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が無効になっている、かつ、Extended Document Root からファイル・サービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が有効になっている、または、Extended Document Root を使用していない場合:

PK23475(US) または PK22928(US) のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。


V6.0.0.1:

Servlet Caching が有効になっている場合:

PK23475(US)PK00091(US) の両方を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.17 以降を適用します。

Servlet Caching が無効になっている場合:

PK23475(US)PK00091(US) の両方を適用します。
または
PK22928(US)PK00091(US) の両方を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が無効になっている、かつ、Extended Document Rootからファイル・サービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。

Servlet Caching が有効になっている、または、Extended Document Rootを使用していない場合:

PK23475(US) または PK22928(US) のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V6.0.2.13 以降を適用します。


V5.1.1.11:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。


V5.1.1.9 (Windows のみ):

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US)PK20181(US) の両方を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US)PK20181(US) の両方を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.11 以降を適用します。


V5.1.1.4 - 5.1.1.10 (AIX, Linux, Solaris, HP-UX) および V5.1.1.4 - 5.1.1.8 と 5.1.1.10 (Windows):

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) または PK23670(US) のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.11 以降を適用します。


V5.1.1.3:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。


V5.1.0.2 - 5.1.1.2:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
かつ、PK28963(US) または PQ99537(US) のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) を適用します。
かつ、PK28963(US) または PQ99537(US) のどちらかを適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.11 以降を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23670(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.11 以降を適用します。


V5.1.0 - 5.1.0.1:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.12 以降を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) または PK23670(US) を適用します。
または
Recommended Fixes for WebSphere Application Server(US) から V5.1.1.11 以降を適用します。


V5.0.2.18:

APAR PK43894(US) を適用します。


V5.0.2.10 - 5.0.2.17:

APAR PK23475(US) を適用します。


V5.0.2.8 - 5.0.2.9 (Windows のみ):

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。
かつ、PK28963(US) または PQ99537(US) のどちらかを適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK28963(US) または PQ99537(US) のどちらかを適用します。


V5.0.2.5 - 5.0.2.7 (Windows のみ):

PK23475(US) を適用します。
かつ、PK28963(US) または PQ99537(US) のどちらかを適用します。


V5.0.2.2 - 5.0.2.4 (Windows のみ):

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) または PQ91033(US) のどちらかを適用します。


V5.0.2.2 - 5.0.2.9 (AIX, Linux, Solaris, HP-UX):

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。


V5.0.2 - 5.0.2.1:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) または PQ91033(US) のどちらかを適用します。


V5.0.1:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) または PQ91033(US) のどちらかを適用します。


V5.0:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK23475(US) または PK23670(US) のどちらかを適用します。


V4.0.5 - 4.0.7:

Servlet Cachingの使用に関係なく、Extended Document Root からファイルサービスを行っている場合:

PK23475(US) を適用します。

Servlet Cachingの使用に関係なく、Extended Document Root を使用していない場合:

PK24173(US) を適用します


V4.0.3 - 4.0.4:
V4.0.5 以降にアップグレードします。その上で、上記の対応策をご参照ください。


Servlet Cachingについてはこちらの文書をご参照ください。この機能はデフォルトでは使用されていません。

Servlet Cachingが有効になっているかどうかの確認方法
Servlet Caching機能はデフォルトでは使用可能になっていません。
以下の3つの設定がすべて有効な場合、Servlet Cachingが有効になります。

  1. 管理コンソールの、アプリケーション・サーバーの設定画面で「動的キャッシュ・サービスの使用可能化」のチェックがON(デフォルトON)
  2. 管理コンソールの、Webコンテナーの設定画面で、「サーブレットのキャッシュを使用可能にする」のチェックがON (デフォルトOFF)
  3. キャッシュのポリシーを定義するcachespec.xmlを作成し、EAR内部(Web モジュールの WEB-INF ディレクトリー)または、WASのプロパティー・ディレクトリーに配置している (デフォルトなし)

Extended Document Rootについてはこちらの文書をご参照ください。この機能は通常は使用されていません。


Fixの適用方法については、こちらの文書をご参照ください。

お問い合わせ先

PAテクニカルサポート総合窓口
(有効なメンテナンス契約IBM番号をお持ちのお客様。V4に関しては、延長保守契約をお持ちのお客様。)
電話 :0120-557-971
受付時間 :月曜日~金曜日 9時~17時(祝日、12月30日~1月3日を除く)

参考情報(情報源)

IBM Technical Support Flash (英語版)

更新履歴:
(2007年6月19日)V5.0.2.18用に新規修正プログラムが作成されましたので、V5.0.2.18用の修正プログラムを変更しました。
(2007年4月6日) V5.0.2-5.0.2.1 Unix/Linuxプラットフォーム(Extended Document Root を使用していない場合)の解決策を追加しました。また、解決策部分のインデントとプラットフォームの表示形式を修正しました。