Experience Manager Forms の Struts 2 脆弱性の緩和 mitigatin-struts2-rce-vulnerabilities-for-aem-forms
問題
Java EE web アプリケーションを開発するための一般的なオープンソース web アプリケーションフレームワークである Struts 2 について、重大なセキュリティ脆弱性が報告されています。分析された脆弱性は次のとおりです。
- Experience Manager Forms Workbench(すべてのバージョン)
- OSGi 版 Experience Manager Forms(すべてのバージョン)
- Experience Manager Forms as a Cloud Service
解決策
影響を受けるすべてのバージョンの解決策を次の表に示します。
次のいずれかの方法を使用します。
メモ:AEM Forms は現在、バージョン 6.5.13.0 から 6.5.19.0 までをサポートしています。古いバージョンを使用している場合は、6.5.13.0 以降のリリースにアップグレードすることをお勧めします。AEM 6.5.13.0 以降のリリースのインストール手順については、リリースノートを参照してください。
手動の緩和手順の使用 use-manual-mitigation-steps
手動の緩和手順を使用して、サービスパック 13 を適用した AEM 6.5 Forms サーバーから、サービスパック 18 を適用した AEM 6.5 Forms サーバーまで(6.5.13.0 から 6.5.18.0 まで)の問題を解決できます。
-
struts-core 2.5.33 jar をローカルフォルダーにをダウンロードします。例:C:\Users\labuser\Desktop\struts2-core-2.5.33.jar。
-
ソフトウェア配布から JEE 版 AEM Forms の手動パッチ適用ツールをダウンロードします。
-
この手動パッチ適用ツールアーカイブを解凍します。例えば、
/Users/labuser/Desktop/archive-patcher-1.0.0 folder
に解凍します。次のファイルが解凍されます。- archive-patcher-1.0.0.jar
- patch-archive.bat
- patch-archive.sh
-
すべてのサーバーインスタンスとロケーターをシャットダウンします。
-
ターミナルウィンドウを開き、JEE 版 AEM Forms 手動パッチ適用ツール(解凍したファイル)を含んだフォルダーに移動します。
-
次のコマンドを実行して、古い struts2 ライブラリを含むすべてのファイルを検索します。コマンドを実行する前に、コマンド内のパスを AEM Forms サーバーのパスに置き換えます。
code language-none patch-archive.bat -root=C:\Adobe\Adobe_Experience_Manager_Forms\configurationManager\export -pattern=.*struts2-core.*jar$
note note NOTE このツールは、実行時に依存関係をダウンロードするので、使用するにはインターネット接続が必要です。したがって、ツールを実行する前に、インターネットに接続していることを確認します。 -
再帰的なインプレース置換を行うには、次のコマンドを列挙した順に実行します。コマンドを実行する前に、コマンド内のパスを AEM Forms サーバーのパスと
struts2-core-2.5.33.jar
ファイルに置き換えます。code language-none patch-archive.bat -root=C:\Adobe\Adobe_Experience_Manager_Forms\configurationManager\export -pattern=.*struts2-core.*jar$ -action=replace C:\Users\labuser\Desktop\struts2-core-2.5.33.jar
上記の手順では、古い struts2 ライブラリを含むすべての EAR ファイルにパッチを適用します。
-
古い EAR をデプロイ解除し、(エクスポートフォルダーにある)パッチ適用済みの EAR ファイルをアプリケーションサーバーにデプロイします。
-
AEM Forms サーバーを起動します。
-
すべてのサーバーインスタンスとロケーターをシャットダウンします。
-
ターミナルウィンドウを開き、JEE 版 AEM Forms 手動パッチ適用ツール(解凍したファイル)を含んだフォルダーに移動します。
-
次のコマンドを実行して、古い struts2 ライブラリを含むすべてのファイルを検索します。コマンドを実行する前に、コマンド内のパスを AEM Forms サーバーのパスに置き換えます。
code language-none ./patch-archive.sh -root=/opt/Adobe/Adobe_Experience_Manager_Forms/configurationManager/export/ -pattern=.*struts2-core.*jar$
note note NOTE このツールは、実行時に依存関係をダウンロードするので、使用するにはインターネット接続が必要です。したがって、ツールを実行する前に、インターネットに接続していることを確認します。 -
再帰的なインプレース置換を行うには、次のコマンドを列挙した順に実行します。コマンドを実行する前に、コマンド内のパスを AEM Forms サーバーのパスと
struts2-core-2.5.33.jar
ファイルに置き換えます。code language-none ./patch-archive.sh -root=/opt/Adobe/Adobe_Experience_Manager_Forms/configurationManager/export/ -pattern=.*struts2-core.*jar$ -action=replace /opt/struts2-core-2.5.33.jar
上記の手順では、古い struts2 ライブラリを含むすべての EAR ファイルにパッチを適用します。
-
古い EAR をデプロイ解除し、(エクスポートフォルダーにある)パッチ適用済みの EAR ファイルをアプリケーションサーバーにデプロイします。
-
AEM Forms サーバーを起動します。