Apache Struts2存在远程代码执行漏洞,编号CVE-2019-0230。Struts2在某些标签属性中使用OGNL表达式时,因为没有做内容过滤,在传入精心构造的请求时,可以造成OGNL二次解析,执行指定的远程代码。
漏洞名称:Apache Struts2远程代码执行漏洞CVE-2019-0230
威胁等级:高危
影响范围:Struts 2.0.0 - 2.5.20
漏洞类型:远程代码执行
漏洞分析
1 Apache Struts2组件介绍
Apache Struts2是一个基于MVC设计模式的Web应用框架。在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
2 漏洞描述
Struts2在某些标签属性中使用OGNL表达式时,因为没有做内容过滤,在传入精心构造的请求时,可以造成OGNL二次解析,执行指定的远程代码。
<s:url var="url" namespace="/employee" action="list"/><s:a id="%{skillName}" href="%{url}">List available Employees</s:a>
在上面的例子中。如果攻击者可以修改skillName的值,并传入一个恶意的OGNL表达式,最终就可以导致远程代码执行。
影响范围
目前受影响的Struts2版本:
Struts 2.0.0 - 2.5.20
解决方案
1修复建议
Struts 2.5.22及以后的版本已经修复此漏洞,请受漏洞影响的用户下载最新版本。
下载链接:
https://struts.apache.org/download.cgi#struts2522
2 深信服解决方案
【深信服下一代防火墙】可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。
【深信服云盾】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。
【深信服安全感知平台】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。
【深信服安全运营服务】深信服云端安全专家提供7*24小时持续的安全运营服务。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。
时间轴
2020/8/13
Apache Struts官网披露该远程代码执行漏洞。
2020/8/14
深信服千里目安全实验室发布漏洞安全通告。
参考链接
https://struts.apache.org/download.cgi#struts2522
点击阅读原文,及时关注并登录深信服智安全平台,可轻松查询漏洞相关解决方案
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论