セキュリティアドバイザリ
セキュリティ勧告: (BEA08-80.04)

作成者: BEA Systems Inc.

概要: クロスサイトスクリプティング(XSS)に対する複数の脆弱性を保護するためのパッチの提供

影響を受ける製品: WebLogic ServerおよびWebLogic Express

このセキュリティ勧告(BEA08-80.04)には、WebLogic ServerおよびWebLogic Express 10.0、9.2、9.1、9.0、8.1、7.0および6.1上のこの脆弱性に対する方策の訂正版が含まれています。セキュリティ勧告(BEA07-80.03)は破棄してください。このセキュリティ勧告(BEA08-80.04)がそれに取って代わります。

脅威レベル:
慎重な画策と特権を持つユーザによる非意図的な協力が必要ですが、クロスサイトスクリプティング攻撃は一般に文章化され広く知られています。

重大度:
匿名ユーザを管理特権に昇格させることができます。

WebLogic ServerおよびWebLogic Expressの特定のバージョンにおいて、セキュリティ脆弱性の原因となる可能性がある問題が確認されました。この問題を修正するためのパッチが提供されています(後続のセクションIIを参照)。BEA Systemsでは、潜在的なセキュリティの問題を最も緊急度の高い問題として取り扱い、お客様のすべての資産のセキュリティを確保するために可能な限りの措置を講じます。結果として、弊社では以下の対処策を強く提案します。
I. 以下の勧告に目を通します。

II. 対処方法を適用します。

III.今後のセキュリティ勧告に関心をお持ちのユーザをご存知の場合は、この勧告に含まれる、登録に関する手順をぜひ転送してください。

I. 勧告

背景: XSSの脆弱性については詳しい解説が数多くあります。XSS脆弱性には、次の3つの要素が必要です。:

  1. 問題のあるWebサイト
  2. そのWebサイトにおいて有効なユーザ
  3. 攻撃者

攻撃者は、ユーザをだまして(通常は、Webページや電子メールでの紛らわしいリンクにより)、WebサイトのXSS脆弱性につけ込みます。これにより、攻撃者は、有効なユーザのIDとして、任意のクライアントサイド(つまりブラウザ)スクリプトを実行できます。通常、攻撃者は、この方法を使用してセッションクッキーを盗みだすことで、有効なユーザのふりをすることができます。XSS脆弱性は、Webサーバまたはその上で稼動するアプリケーションのバグによって発生する場合があります。

この勧告では、主にWebLogic Server管理コンソールを使用して、この攻撃をおこなう幾つかの方法を扱います。多くの場合、適切に保護されたサーバはXSS脆弱性の影響を受けません。(WebLogic Serverインスタンスの保護については後続のセクションIIを参照)

コーディングに関するアドバイス: どのようなWebアプリケーションにも、XSS脆弱性が作り込まれる可能性があります。WebLogic ServerやExpressの機能を利用して、ユーザが開発したコードに対するXSS脆弱性を防止することはできません。Webアプリケーションをプログラミングするときは、この脆弱性を回避するよう注意深くコーディングする必要があります。そのため、WebLogic ServerおよびWebLogic Expressでは、XSS脆弱性に対する防御のためにweblogic.servlet.security.Utilsというクラスを提供しています。Utils.encodeXSS()メソッドは、HTML構文のすべての重要な文字を適切にエンコードします。このメソッドのJavadocは次の場所にあります。

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/javadocs/weblogic/servlet/security/Utils.html

より詳細な情報は以下を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs81/servlet/progtasks.html#160803

既存のサンプルに関する注意: WebLogic Serverに付属するサンプルは、いくつかの特定の機能に関する簡単なチュートリアルを提供するためのものです。ベストプラクティスについての包括的なガイドではありません。多くのチュートリアルでは、必要な箇所でのUtils.encodeXSS()メソッドの使用が省略されており、したがってXSS攻撃に対して脆弱です。

この脆弱性の影響を受けるのは、WebLogic ServerおよびWebLogic Expressの次に示すバージョンです。
  • WebLogic Server 10.0のメンテナンスパック1までの全リリース(全プラットフォーム対象)
  • WebLogic Server 9.2のメンテナンスパック2までの全リリース(全プラットフォーム対象)
  • WebLogic Server 9.1の初期リリース(全プラットフォーム対象)
  • WebLogic Server 9.0の初期リリース(全プラットフォーム対象)
  • WebLogic Server 8.1のサービスパック6までの全リリース(全プラットフォーム対象)
  • WebLogic Server 7.0のサービスパック7までの全リリース(全プラットフォーム対象)
  • WebLogic Server 6.1のサービスパック7までの全リリース(全プラットフォーム対象)

II. 対処方法

BEA Systemsでは、以下の一連の対処方法に従うことを強く推奨します。

WebLogic Server 10.0
  1. WebLogic ServerおよびWebLogic Express 10.0メンテナンスパック1にアップグレードします。
  2. Smart Updateを使用してCR345092の10.0MP1用パッチをインストールします。
WebLogic Server 10.0メンテナンスパック2には、このパッチの機能が組み込まれる予定です。


WebLogic Server 9.2
  1. WebLogic ServerおよびWebLogic Express 9.2メンテナンスパック2にアップグレードします。
  2. Smart Updateを使用してCR345092の9.2MP2用パッチをインストールします。
WebLogic Server 9.2メンテナンスパック3には、このパッチの機能が組み込まれる予定です。


WebLogic Server 9.1
  1. Smart Updateを使用してCR345092の9.1用パッチをインストールします。


WebLogic ServerおよびWebLogic Express 9.0
  1. support.bea.comからBug ID CR239280を検索し、9.0 GA コンボパッチをインストールします。
  2. 以下に示すパッチを適用します。
  3. ftp://anonymous:dev2dev%40bea.com@ftpna.bea.com/pub/releases/security/CR358541_900.jar
  4. パッチのjarをPATCH_CLASSPATHの最後に追加します。

WebLogic ServerおよびWebLogic Express 8.1
  1. WebLogic ServerおよびWebLogic Express 8.1サービスパック6にアップグレードします。
  2. 以下に示すパッチを適用します。
  3. ftp://anonymous:dev2dev%40bea.com@ftpna.bea.com/pub/releases/security/CR345092_810sp6.jar
  4. パッチのjarをCLASSPATHのweblogic.jarファイルより前に追加します。

WebLogic ServerおよびWebLogic Express 7.0
  1. WebLogic ServerおよびWebLogic Express 7.0サービスパック7にアップグレードします。
  2. 以下に示すパッチを適用します。
  3. ftp://anonymous:dev2dev%40bea.com@ftpna.bea.com/pub/releases/security/CR358544_700sp7.jar
  4. パッチのjarをCLASSPATHのweblogic.jarファイルより前に追加します。

WebLogic ServerおよびWebLogic Express 6.1
  1. WebLogic ServerおよびWebLogic Express 6.1サービスパック7にアップグレードします。
  2. 以下に示すパッチを適用します。
  3. ftp://anonymous:dev2dev%40bea.com@ftpna.bea.com/pub/releases/security/CR358542_610sp7.jar
  4. パッチのjarをCLASSPATHのweblogic.jarファイルより前に追加します。


BEA Systemsは、当社のすべてのセキュリティ勧告で推奨される修正をお客様が適用されることを強く提案します。 またBEA Systemsは、お客様にすべてのサービス/メンテナンスパックをリリース後直ちに適用していただくことも強く要請します。 サービス/メンテナンスパックには、以前の各サービス/メンテナンスパックに加えて、製品の各バージョンに対するすべてのバグ修正が累積的に含まれています。サービス/メンテナンスパックおよびサービス/メンテナンスパックについての情報は次の場所で公開しています。

WebLogic Server: http://commerce.bea.com/showallversions.jsp?family=WLS

WebLogic Platform: http://commerce.bea.com/showallversions.jsp?family=WLP

注: WebLogic ServerおよびWebLogic Expressのセキュリティについての情報は、
http://edocs.beasys.co.jp/e-docs/wls/docs81/security.htmlをご覧ください。特定のプロダクション環境のセキュリティに関する情報については、
http://edocs.beasys.co.jp/e-docs/wls/docs81/lockdown/index.htmlをご覧ください。BEA Systemsは、サーバのデプロイメントが安全にコンフィグレーションされていることをお客様が確信できるように、このドキュメントに再度目を通されることを強くお勧めします。

III. 参照

BEA Systemsは、以下の専門組織のこの問題の調査における貢献を高く評価します:
ACROS Security
DV Bern AG
Application Security, Inc.
GomoR

IV. セキュリティに関する伝達方針

BEA製品にセキュリティ関連の問題が見つかった場合、BEA Systemsは勧告および適切な対策を示した指示を配信させていただく方針です。お客様のサイト、データ、およびコードのセキュリティは当社にとって最優先事項ですので、セキュリティ関連の問題はすべて包み隠さずはっきりとお伝えすることを約束します。

過去のすべての勧告および通知は、 https://support.bea.com/application_content/product_portlets/securityadvisories-ja/index.htmlでご覧いただけます。

BEA Systemsでは、製品のセキュリティに関する勧告および通知の配信のみを目的とした、自由に参加できるメーリングリストを開設いたしました。ユーザがこのメーリングリストに参加しており、そのユーザが利用しているBEA製品にセキュリティ関連の問題が存在する場合、BEA Systemsは必要な勧告および指示を、適切な対処策とともに電子メールで配信させていただく方針です。

勧告の配信登録を新しく希望するユーザは、 https://support.bea.com/application_content/product_portlets/securityadvisories-ja/index.htmlの登録に関する指示に従ってください。

V. セキュリティ関連の問題の報告

セキュリティ関連の問題をBEA Systemsに報告するには、 secalert@bea.comまで電子メールをお送りいただくか、 https://support.bea.com/application_content/product_portlets/securityadvisories-ja/index.htmlの指示に従ってください。セキュリティ関連の問題の報告はすべて直ちに確認され、お客様のすべての資産の継続的なセキュリティを確保するために必要なあらゆる措置が講じられます。

この勧告の信頼性についての疑問または懸念がありましたら、BEAテクニカルサポート( support@bea.com)までご連絡ください。