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

作成者: BEA Systems Inc.

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

影響を受ける製品: WebLogic ServerおよびWebLogic Express、WebLogic Integration、Liquid Data

脅威レベル: 低 - 慎重な画策と特権を持つユーザによる非意図的な協力が必要です。

重大度: 高 - 匿名ユーザを管理特権にアップグレードさせることができます。

このセキュリティ勧告(BEA03-36.01)には、Utils.encodeXSS()に対するJavadocへのリンクが含まれています。この勧告には、新しい修正または更新された修正はありません。セキュリティ勧告BEA03-36.00は無視してください。このセキュリティ勧告BEA03-36.01が代わりに提供されます。

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

     I. 以下の勧告に目を通します。

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

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

I. 勧告

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

     1. 問題のあるWebサイト.

     2. そのWebサイトにおいて有効なユーザ

     3. 攻撃者

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

勧告: この勧告では、2種類のXSS脆弱性を扱います。
  1. ブラウザが転送命令を受け取ったときに利用される可能性のあるサーブレットコンテナの脆弱性。「http://www.bea.com」のような静的URLは、転送の際に悪用することはできません。悪用は、次のような動的URLがある場合に発生します。
    "http://www.bea.com?username=" + request.getParameter("user")
    転送ステートメントでのURLの動的な計算をサポートするアプリケーションは、潜在的にこの脆弱性を含んでいます。

  2. WebLogic Serverコンソールアプリケーションにおける一連の脆弱性。特殊な管理特権を持つユーザ(つまり、「Admin」、「Monitor」、「Deployer」、「Operator」の各ロールのユーザ)に対してのみリスクがあります。攻撃者は、特権を持つユーザをだましてURLをクリックさせ、ユーザの特権を共有することができます。

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

ftp://anonymous:dev2dev%40bea.com@ftpna.bea.com/pub/releases/security/Utils.html

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

この脆弱性の影響を受けるのは、WebLogic ServerおよびWebLogic Express、WebLogic Integration、Liquid Dataの次に示すバージョンです。
  • WebLogic Integration 7.0(全プラットフォーム対象)
  • WebLogic Integration 2.1(全プラットフォーム対象)
  • Liquid Data 1.1(全プラットフォーム対象)
  • WebLogic ServerおよびWebLogic Express 7.0(全プラットフォーム対象)
  • WebLogic ServerおよびWebLogic Express 6.1(全プラットフォーム対象)
  • WebLogic ServerおよびWebLogic Express 5.1(全プラットフォーム対象)

II. 対処方法

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