2022年4月14日,Apache 官方发布了新的安全通告,披露了其开源应用框架Struts2存在远程代码执行漏洞。该漏洞是由于由于对S2-061的修复不完善,从而导致攻击者可通过一些标签属性赋值绕过,执行恶意的远程代码。
    漏洞名称:Apache Struts2 RCE漏洞
    漏洞危害:高危
    漏洞描述:攻击者通过某些标签中若后端通过 %{…} 形式对其属性进行赋值,则将对 OGNL 表达式进行二次解析,从而注入恶意代码。
    影响版本:2.0.0<=Apache Struts <= 2.5.29
    排查方法:
    1.使用maven打包的项目可通过pom.xml查看当前使用的Struts2版本
    2.查看lib中的struts2-core.jar\META-INF\MANIFEST.MF找到Implementation-Version后面对应的数字即为struts2.0版本号
    3.Linux系统下可使用以下命令查找使用的struts2-core包文件名得到当前版本
    find / -namestruts2-core-.jar
    *应急措施:

    1.目前官方已发布修复补丁,可尽快将其升级为最新版本

    1. 若相关用户暂时无法进行升级操作,可使用以下措施进行临时缓解:

      1)避免对不受信任的用户输入使用强制OGNL解析

      2)开启ONGL表达式注入保护
      Apache 官方通告链接https://cwiki.apache.org/confluence/display/WW/S2-062