本文へジャンプ

重要セキュリティー情報 > 

WASでCross-Site Scriptingにより不正なスクリプトコードが実行される脆弱性

2005年11月18日 (※2006年3月23日更新)

Cross-Site Scriptingにより不正なスクリプトを実行される可能性があります。


現象

問題1 【WAS 6.0.xのみ発生】


下記の全ての条件が成り立ち、さらにURIに不正なスクリプト等が含まれている場合、JSPエラーレポーターが自動的に生成するHTTP 404エラーページの出力に不正なスクリプト等が含まれてしまいます。
  • 要求のあったURIを処理するべきWebモジュールが見つかった場合
  • URIの最後に.jsp、.jspx、.jsw、.jsvというJSPを指し示す拡張子があった場合
  • 実際に処理するJSPが存在しなかった場合

問題2 【WAS 6.0.xのみ発生】

下記のいずれかの条件が成り立ち、さらにURIに不正なスクリプト等が含まれている場合、Webコンテナが自動的に生成するHTTP 404エラーページの出力に不正なスクリプト等が含まれてしまいます。当問題はIHS経由のアクセスでは発生しません。
  • 要求のあったURIを処理するべきWebモジュールが動作していない(停止している)
  • 要求のあったURIを処理するべきWebモジュールが存在しない(具体的には下記のいずれかの条件に合致するリクエストがあった場合)
    HTTPトランスポートチェーンの設定がされているが、仮想ホストの定義に存在しないポートに対するアクセス
    HTTPトランスポートチェーンの設定と仮想ホストの定義はあるが、仮想ホストの定義に一致しないホスト名に対するアクセス
    HTTPトランスポートチェーンの設定と仮想ホストの定義は存在し、アクセス先ホスト名も仮想ホストのホスト定義に一致するが、該当する仮想ホストにマッピングされたWebモジュールが存在しない場合
    HTTPトランスポートチェーンの設定と仮想ホストの定義は存在し、アクセス先ホスト名も仮想ホストのホスト定義に一致し、該当する仮想ホストにマッピングされたWebモジュールも存在するが、実際に指定されたURIを処理するするべきWebモジュールが見つからなかった場合(context-rootに一致するものが無い場合)

問題3 【WAS 5.0.x/5.1.x/6.0.xで発生】

snoopサーブレットにアクセスできる構成に対し、snoopサーブレットを呼び出すURIの後方に不正なスクリプト等が含まれている場合、snoopサーブレットの出力に不正なスクリプト等が含まれてしまいます。


対象製品

AIX、Windows、Linux、Solaris、HP-UX、pSeriesLinux、zSeriesLinux、iSeries、zSeries
上記プラットフォーム上で以下の製品を使用している場合

WebSphere Application Server 6.0.2.4を含む以前のバージョン(問題1〜3)
WebSphere Application Server 5.1.x(問題3)
WebSphere Application Server 5.0.x(問題3)


確認方法

WebSphere Application Serverのバージョン確認方法:


1. 管理コンソールを起動します。
2. ログインした最初の画面で、右上の「WebSphere Application Serverについて」の欄を確認します。

対応方法
問題1
【回避策】
デフォルトで使用されるJSPエラーレポーターを使わないように全てのWebモジュールのweb.xmlに明示的にエラーページの指定を行う。(fixの適用に関らず独自のページを用意しておくことをお勧めします。)
【解決策】
以下のリンク先からfix pack WAS6.0.2.5を入手して適用ください。(WAS6.0.2.5以降で修正済み)
http://www.ibm.com/support/docview.wss?uid=swg24011095
または、以下のリンク先から修正プログラム PK13500を入手して適用してください。
http://www.ibm.com/support/docview.wss?uid=swg24010842
問題2
【回避策1】
IHS経由でのみアクセスが出来るように構築されたシステムでは影響しないため、IHS経由でアクセスする構成に変更することで回避可能
【回避策2】
Webコンテナへ直接アクセスできる環境の場合、以下に挙げる全ての項目を実施し、定義のされていないWebグループや仮想ホストに対する要求をWebコンテナが受け取らないことを確実にする。(fixの適用に関らず実施することをお勧めします)
1.  仮想ホストに定義されない不要なトランスポートチェーンを削除する。
2.  仮想ホスト定義のホスト名を*(アスタリスク)にするか、定義されてないホスト名ではアクセスできないようにネットワークを構築しておく。
3.  Webモジュールがマッピングされていない仮想ホストは削除する。
4.  Webモジュールにコンテキストルート"/"のWebモジュールを利用する仮想ホストに全てマッピングしておき、常に稼働させておく。(Webモジュール停止中にはアクセスさせないように運用する)
回避策はdmgrに対しての対応に困難があります。そのためもしND環境で回避策を実施する場合はdmgrへのアクセスをF/Wなどで厳しく制約しておくといった複合的な対応が必要です。
【解決策】
以下のリンク先からfix pack WAS6.0.2.5を入手して適用ください。(WAS6.0.2.5以降で修正済み)
http://www.ibm.com/support/docview.wss?uid=swg24011095
または、以下のリンク先から修正プログラム PK12758を入手して適用してください。
http://www.ibm.com/support/docview.wss?uid=swg24010843
問題3
【回避策1】
snoopサーブレットを削除し、問題が発生しないようにする。
【回避策2】
snoopサーブレットのサーブレットマッピングを、/snoop/*から/snoop/に変更し、想定外の文字列がURIに含まれないようにする(web.xml)
【解決策】
WAS v6.0.x:
以下のリンク先からfix pack WAS6.0.2.5を入手して適用ください。(WAS6.0.2.5以降で修正済み)
http://www.ibm.com/support/docview.wss?uid=swg24011095
または、以下のリンク先から修正プログラム PK13968を入手して適用してください。
http://www.ibm.com/support/docview.wss?uid=swg24010904
WAS v5.0.x:
以下のリンク先からfix pack WAS5.0.2.16を入手して適用ください。
http://www.ibm.com/support/docview.wss?rs=180&uid=swg24011778(英語)
または、以下のリンク先から修正プログラムPK15571を入手して適用してください。
http://www.ibm.com/support/docview.wss?uid=swg24011435
WAS v5.1.x:
以下のリンク先から修正プログラムPK15571を入手して適用してください。
http://www.ibm.com/support/docview.wss?uid=swg24011435
PK15571はWAS5.1.1.10以降のCumulative Fixに含まれる予定です。Cumulative Fixの提供プランや、推奨Fixについては以下のサイトをご覧ください。
http://www.ibm.com/support/docview.wss?uid=swg27004980

お問合せ先

PAテクニカルサポート総合窓口
(有効なメンテナンス契約IBM番号をお持ちのお客様)
電話 :0120-557-971
受付時間 :月〜金 9:00〜17:00(祝日、12/30〜1/3を除く)


参考情報(情報源)
IBM WebSphere Application Server Error Page Cross-Site Scripting Vulnerability (英語)

更新履歴: (2006年3月23日)対応方法に掲載されている修正プログラムへのリンクを更新しました。(2006年2月1日)対応方法に掲載されている修正プログラムへのリンクを更新しました。

上に戻る