缓解Experience Manager Forms的Struts 2漏洞 mitigatin-struts2-rce-vulnerabilities-for-aem-forms

问题

Struts 2是一种用于开发Java EE Web应用程序的流行开放源码Web应用程序框架,已报告了该框架存在的严重安全漏洞。 已分析以下漏洞:

漏洞
受影响的内容?
哪些内容未受影响?
CVE-2023-50164
JEE上的Experience Manager6.5 Forms(从6.5 GA到6.5.19.0的所有版本)
  • Experience Manager Forms Workbench(所有版本)
  • OSGi上的Experience Manager Forms(所有版本)
  • Experience Manager Formsas a Cloud Service

解决方法

下表列出了所有受影响版本的解决方案:

发行版本
当前版本
用户操作
在JEE上Experience Manager6.5 Forms
6.5.19.0
安装最新的Service Pack
在JEE上Experience Manager6.5 Forms
6.5.13.0 - 6.5.18.0

使用以下方法之一:

在JEE上Experience Manager6.5 Forms
6.5 - 6.5.12.0
安装最新的Service Pack

注意: 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表单服务器上的问题:

  1. struts-core 2.5.33 jar下载到本地文件夹。 例如,C:\Users\labuser\Desktop\struts2-core-2.5.33.jar。

  2. Software Distribution下载AEM Forms on JEE手动修补工具。

  3. 解压缩手动修补工具存档。 例如,提取到/Users/labuser/Desktop/archive-patcher-1.0.0 folder。 将提取以下文件:

    • archive-patcher-1.0.0.jar
    • patch-archive.bat
    • patch-archive.sh
Windows
  1. 关闭所有服务器实例和定位器。

  2. 打开终端窗口,并导航到包含AEM Forms on JEE手动修补工具(解压缩的文件)的文件夹。

  3. 运行以下命令以搜索具有旧版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。
  4. 按照列出的顺序运行以下命令,以替换递归原位。 运行命令之前,将命令中的路径替换为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文件。

  5. 取消部署旧版EAR,并将打补丁的EAR文件(位于导出文件夹中)部署到应用程序服务器。

  6. 启动AEM Forms服务器。

Linux
  1. 关闭所有服务器实例和定位器。

  2. 打开终端窗口,并导航到包含AEM Forms on JEE手动修补工具(解压缩的文件)的文件夹。

  3. 运行以下命令以搜索具有旧版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。
  4. 按照列出的顺序运行以下命令,以替换递归原位。 运行命令之前,将命令中的路径替换为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文件。

  5. 取消部署旧版EAR,并将打补丁的EAR文件(位于导出文件夹中)部署到应用程序服务器。

  6. 启动AEM Forms服务器。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2