Apache Struts2 存在高危漏洞!
近期,某漏扫团队在漏洞监控中发现Apache Struts2存在远程代码执行漏洞,Apache Struts2框架是一个用于开发Java EE网络应用程序的Web框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
2022年4月12日,Apache发布安全公告,修复了一个Apache Struts2 中的远程代码执行漏洞。漏洞编号:CVE-2021-31805,漏洞威胁等级:高危。在 Apache Struts2 2.0.0-2.5.29 中,如果开发人员使用 %{...} 语法应用强制 OGNL 解析,标签的某些属性仍然可被二次解析。当对标签属性中未经验证的原始用户输入进行解析时,可能会导致远程代码执行。
1.漏洞概述
2.漏洞排查
方法一:全盘检索是否存在 struts2-core-{version}.jar,并检查使用的版本号是否在受影响范围内(如下图所示),则用户可能受漏洞影响。
方法二:遇到使用maven编译的项目时可检测该项目的根目录下pom.xml的内容,在此文件中检索 struts2-core字样可看到对应的版本信息,如在受影响范围内,则可能受该漏洞影响。
3.漏洞检测
请使用漏扫系统产品或Web应用检测系统产品的用户尽快升级到最新版本,及时对该漏洞进行检测,以便尽快采取防范措施。
4.基线核查
请使用安全配置核查管理系统产品的用户尽快升级到最新版本,及时对该漏洞进行核查,以便尽快采取防范措施。
5.临时措施
避免对不受信任的用户输入使用强制 OGNL 评估。
6.修复建议
厂商已发布补丁修复漏洞,用户请尽快更新至安全版本:Struts 2.5.30或更高版本。补丁链接如下:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30
与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。