缓解Experience Manager Forms的Struts 2漏洞 mitigatin-struts2-rce-vulnerabilities-for-aem-forms
问题
Struts 2是一种用于开发Java EE Web应用程序的流行开放源码Web应用程序框架,已报告了该框架存在的严重安全漏洞。 已分析以下漏洞:
- Experience Manager Forms Workbench(所有版本)
- OSGi上的Experience Manager Forms(所有版本)
- Experience Manager Formsas 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
您可以使用手动缓解步骤来解决运行Service Pack 13的AEM 6.5表单服务器到运行Service Pack 18 (6.5.13.0 - 6.5.18.0)的AEM 6.5表单服务器上的问题:
-
将struts-core 2.5.33 jar下载到本地文件夹。 例如,C:\Users\labuser\Desktop\struts2-core-2.5.33.jar。
-
从Software Distribution下载AEM Forms on JEE手动修补工具。
-
解压缩手动修补工具存档。 例如,提取到
/Users/labuser/Desktop/archive-patcher-1.0.0 folder
。 将提取以下文件:- archive-patcher-1.0.0.jar
- patch-archive.bat
- patch-archive.sh
-
关闭所有服务器实例和定位器。
-
打开终端窗口,并导航到包含AEM Forms on JEE手动修补工具(解压缩的文件)的文件夹。
-
运行以下命令以搜索具有旧版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 该工具需要互联网连接,因为它在运行时下载依赖项。 因此,在运行该工具之前,请确保已连接到Internet。 -
按照列出的顺序运行以下命令,以替换递归原位。 运行命令之前,将命令中的路径替换为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服务器。
-
关闭所有服务器实例和定位器。
-
打开终端窗口,并导航到包含AEM Forms on JEE手动修补工具(解压缩的文件)的文件夹。
-
运行以下命令以搜索具有旧版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 该工具需要互联网连接,因为它在运行时下载依赖项。 因此,在运行该工具之前,请确保已连接到Internet。 -
按照列出的顺序运行以下命令,以替换递归原位。 运行命令之前,将命令中的路径替换为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服务器。