OpenAMのセキュリティ脆弱性について [AM20121122-1]
OpenAMに以下3つのセキュリティ脆弱性が見つかりました。 脆弱性に対処するためにOpenAM 9.5.5 へアップデートをお願いいたします。
また、アップデートを行うまでの緊急回避の方法も合わせてご提案させて頂きますので、内容を理解の上、対処ください。
- OpenAMの特定Webページを攻撃することで、サーバー内部の任意のファイルを読み取れてしまう脆弱性
(authserviceのXXE/SSRF脆弱性:Issue# 201203-01) - OpenAMのデバッグ管理Webページを攻撃することで、デバッグレベルを変更されてしまう脆弱性
(Debug.jspのXSS/CSRF脆弱性:Issue# 201203-02) - OpenAMの特定Webページを攻撃することで、サーバー内部のファイル構成が判別できてしまう脆弱性
(WebCLI機能の脆弱性:Issue# 201203-03)
セキュリティ重要度: < Critical >
非常に危険、緊急対処を要するレベルです。 ForgeRock社より発表されたセキュリティ勧告や公開されているソースコードより、脆弱性に対する攻撃方法が推測できる可能性があり、早急に対処が必要です。
対象
OpenAM/OpenSSOの全てのバージョン
緊急回避方法
アップデートを行うまでの緊急回避の方法です。実施することにより脆弱性に対するリスクを下げることが可能です。
authserviceのXXE/SSRF脆弱性:Issue# 201203-01
外部から脆弱性のあるURL(/openam/authservice)にアクセスできないよう対策を行います。
ここでは2つの案を提示しますが、OpenAMの構成にPolicy Agentなどのauthserviceにアクセスするプログラムが含まれるかによって選択可能な方法が変わることにご注意ください。(脆弱性のあるURLはPolicy Agentが利用しているためです。)
案1 : Webコンテナ(Tomcat)でauthserviceを利用できないようにする
この案はOpenAMの構成にPolicy Agentなどのauthserviceにアクセスするプログラムを利用していない場合のみ選択してください。
インストールされたOpenAMのweb.xml(openam/WEB-INF/web.xml)を編集して、下記の箇所を削除して下さい。
<servlet-mapping> <servlet-name>pllservice</servlet-name> <url-pattern>/authservice</url-pattern> </servlet-mapping>
修正後、Webコンテナを再起動してください。
案2 : IPアドレスで制御をする
リバース・プロキシもしくは同様のネットワーク機器を使い、/openam/authserviceへのアクセスを以下の特定のホストIPアドレスのみ許可して下さい。
- Policy Agent
- リバース・プロキシ(Policy Agent)
- OpenAMが稼動している自ホスト
Debug.jspのXSS/CSRF脆弱性:Issue# 201203-02
Debug.jspを利用できないようにします。デバッグレベルの変更はOpenAMの管理コンソールから行ってください。
インストールされたOpenAMのweb.xml(openam/WEB-INF/web.xml)を編集して、<web-app>タグ内に下記の箇所を追加して下さい。
<security-constraint> <web-resource-collection> <web-resource-name>Access Denied</web-resource-name> <url-pattern>/Debug.jsp</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint>
修正後、Webコンテナを再起動してください。
WebCLI機能の脆弱性:Issue# 201203-03
WebCLIを利用できないようにします。WebCLIは現在使用されていないインターフェースであるため、影響はありません。
インストールされたOpenAMのweb.xml(openam/WEB-INF/web.xml)を編集して、下記の箇所を削除して下さい。
<servlet-mapping> <servlet-name>WebCLI</servlet-name> <url-pattern>/webcli</url-pattern> </servlet-mapping>
修正後、Webコンテナを再起動してください。
脆弱性に関する詳細な説明
authserviceのXXE/SSRF脆弱性:Issue# 201203-01
OpenAMのURL(/openam/authservice)にeXternal XML Entity inclusion/Server Side Request Forgery(XXE/SSRF)攻撃に対する脆弱性があります。
脆弱性のあるURL(/openam/authservice)が作為的なXMLを受信するとWebコンテナ(Tomcat)起動ユーザーが参照できるサーバー内部のリソースを含むコンテンツを生成してしまう可能性があります。
脆弱性を攻撃された場合、攻撃者がWebコンテナ(Tomcat)の起動ユーザーでサーバーリソースにアクセスするため、Webコンテナの起動ユーザーにはrootユーザーを利用しないで下さい。
Debug.jspのXSS/CSRF脆弱性:Issue# 201203-02
Debug.jspにcross-site scripting/cross-site request forgery (XSS/CSRF)攻撃に対する脆弱性があります。
OpenAMの有効なセッションを保持した管理者が悪意あるWebページにアクセスすることにより攻撃者はOpenAMのデバッグレベルを変更することが可能です。
WebCLI機能の脆弱性:Issue# 201203-03
WebCLI機能によりファイルシステムに関する情報が漏れる可能性があります。
脆弱性のあるURL(/openam/webcli)が作為的に構成された入力を受信すると特定のファイルやディレクトリがサーバ上に存在するか否かの情報を返してしまう可能性があります。
恒久対処方法
OpenAM 9.5.5 へアップデートをお願いいたします。
現在、弊社の OpenAM サポートサービスにご契約いただいているお客様にはアップデートパッケージを提供させていただきますので適用をお願いいたします。
アップデートパッケージの入手方法
お客様がご利用中の OpenAM の環境について、下記の動作 OS、ご利用中のOpenAM のバージョンの情報、およびカスタマイズの有無などをご確認の上、弊社サポート窓口まで、サポートID、会社名、ご担当者名を添えてご連絡ください。
お問い合わせ: info @ osstech.co.jp