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

作成者: BEA Systems Inc.

概要: XMLパーシングを通じたDoS攻撃を防御するためのパッチの提供

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

脅威レベル:

重大度:

このセキュリティ勧告(BEA02-23.01)では、以前にBEA02-23.00で告知された以下のパッチの更新を告知します。

CR091862-610SP3.jar

CR091862-700SP1.jar

CR091862-610SP4.jar

CR091862-600SP2RP3.jar

上記のパッチは下記のパッチに更新されました。

CR091862-610SP3-1.jar

CR091862-700SP1-1.jar

CR091862-610SP4-1.jar

CR091862-600SP2RP3-1.jar

勧告BEA02-23.00で告知されたパッチは新しいパッチで置き換えられるため、古いパッチは無視してください。

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

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

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

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

I. 勧告

この脆弱性は、文書型定義(DTD)を含むXMLドキュメントをXercesパーサを使用して解析する場合に発生する可能性があります。DTD内の実体参照の特定の構成によって、サービス拒否(DoS)が誘発される可能性があることが確認されました。

WebLogic Integrationでは、ユーザがDTDを指定できます。XMLドキュメントが処理されるとき、この脆弱性が発生する可能性があります。

WebLogic Server上でホストされるWebサービスには、この問題に対する脆弱性はありません。WebLogic Webサービスに対して使用されるパーサはDTDを解析しません。

WebLogic Server 6.1およびWebLogic Server 7.0には、Xercesパーサの1つのバージョンがバンドルされます。これらのパーサを利用するユーザアプリケーションは、この種の攻撃に対して脆弱である場合があります。

この脆弱性の影響を受けるのは、WebLogic Integrationの次に示すバージョンです。
  • バージョン: BEA WebLogic Integration 2.1および7.0
この脆弱性の影響を受けるのは、BEA WebLogic ServerおよびWebLogic Expressの次に示すリリースです。
  • バージョン: BEA WebLogic ServerおよびWebLogic Express 6.0、6.1、7.0、および7.0.0.1

原因

この脆弱性は、XercesパーサがDTDから実体の集合を読み込むときに発生する可能性があります。実体の特定の構成が原因で、パーサが処理能力を使い果たし、結果としてサーバがハングする可能性があります。

1つのDTD内での実体解析の度合いに制限を設けられるようにするためのパッチが提供されています。

II. 対処方法

BEAでは、以下の一連の対処方法に従うことを強く推奨します。
注: 上記の各パッチを適用した後で、WebLogicシステムプロパティ

weblogic.apache.xerces.maxentityrefs

の値を、1つのXMLドキュメント内で解決可能な実体参照の最大数に設定します。これと同じ値が、DTD内で解決可能な実体参照の最大数を制限する目的にも使用されます。

出荷時点のバージョンのXercesパーサを別のパーサで置き換えた場合、そのパーサのベンダに問い合わせて、そのパーサがこのサービス拒否(DoS)攻撃に対して脆弱でないことを確認することをお勧めします。

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

注: BEA 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をご覧ください。弊社では、サーバのデプロイメントが安全にコンフィグレーションされていることをお客様が確信できるように、このドキュメントに再度目を通されることを強くお勧めします。


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

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

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

このメッセージは、BEA WebLogicセキュリティ勧告に参加されているお客様に配信されています。メーリングリストにご登録いただきありがとうございます。

お客様のサイトにセキュリティ関連の問題を担当されるユーザが他にもいる場合は、次のURLでの登録をお勧めください。
http://contact2.bea.com/bea/www/advisories/login.jsp


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

BEA製品のセキュリティに関する問題の可能性を報告していただける電子メールアドレスを設けました。セキュリティの問題に関する報告は、 security-report@bea.comまでお送りください。このアドレスに対するすべてのメールは直ちに確認され、お客様のすべての資産の継続的なセキュリティを確保するために必要なあらゆる措置が講じられます。

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

ご協力ありがとうございます。
BEA Systems, Inc.

(dLst.getTime()+1800000))||(dCur.getTime()>(dSes.getTime()+28800000))){ dSes.setTime(dCur.getTime()); WT.vt_f_s="1"; } if ((dCur.getDay()!=dLst.getDay())||(dCur.getMonth()!=dLst.getMonth())||(dCur.getYear()!=dLst.getYear())){ WT.vt_f_d="1"; } } WT.co_f=escape(WT.co_f); WT.vt_sid=WT.co_f+"."+(dSes.getTime()-adj); var expiry="; expires="+dExp.toGMTString(); document.cookie=name+"="+"id="+WT.co_f+":lv="+dCur.getTime().toString()+":ss="+dSes.getTime().toString()+expiry+"; path=/"+(((typeof(gFpcDom)!="undefined")&&(gFpcDom!=""))?("; domain="+gFpcDom):("")); if (document.cookie.indexOf(name+"=")==-1){ WT.co_f=WT.vt_sid=WT.vt_f_s=WT.vt_f_d=""; WT.vt_f=WT.vt_f_a="2"; } } var gHref=""; function dcsIsHttp(e){ return (e.href&&e.protocol&&(e.protocol.indexOf("http")!=-1))?true:false; } function dcsSaveHref(evt){ if (evt.preventDefault&&evt.target.href){ evt.preventDefault(); gHref=evt.target.href; } } function dcsLoadHref(evt){ if (gHref.length>0){ window.location=gHref; gHref=""; } } function dcsEvt(evt){ var e=evt.target||evt.srcElement; if (e.tagName&&(e.tagName=="IMG")){ e=e.parentElement||e.parentNode; } return e; } function dcsBind(event,func){ if (typeof (window[func]) == "function"){ for (i = 0; i < document.links.length; i++){ if (document.links[i].pathname.match(/.pdf/)){ if (document.body.addEventListener){ document.links[i].addEventListener(event,window[func],true); } else if (document.body.attachEvent){ document.links[i].attachEvent("on"+event,window[func]); } } if (document.links[i].pathname.match(/.exe/)){ if (document.body.addEventListener){ document.links[i].addEventListener(event,window[func],true); } else if (document.body.attachEvent){ document.links[i].attachEvent("on"+event,window[func]); } } if (document.links[i].pathname.match(/.zip/)){ if (document.body.addEventListener){ document.links[i].addEventListener(event,window[func],true); } else if (document.body.attachEvent){ document.links[i].attachEvent("on"+event,window[func]); } } if (document.links[i].pathname.match(/.tar/)){ if (document.body.addEventListener){ document.links[i].addEventListener(event,window[func],true); } else if (document.body.attachEvent){ document.links[i].attachEvent("on"+event,window[func]); } } if (document.links[i].pathname.match(/.gz/)){ if (document.body.addEventListener){ document.links[i].addEventListener(event,window[func],true); } else if (document.body.attachEvent){ document.links[i].attachEvent("on"+event,window[func]); } } } } } function dcsET(){ dcsBind("click","dcsDownload"); } function dcsMultiTrack(){ for (var i=0;i