Struts S2-059/S2-060安全漏洞

Apache Struts 是一套用于创建企业级 Java Web 应用的开源 MVC 框架 。

北京时间 8 月 13 日,Apache Struts 官方发布新的安全通告,其中的 S2-059(CVE-2019-0230)是一个远程代码执行漏洞。

北京时间8月13日,Struts官方发布新的安全通告,公布了2个安全漏洞:S2-059(CVE-2019-0230)是一个潜在的远程代码执行漏洞,S2-060(CVE-2019-0233)是一个拒绝服务漏洞。

漏洞描述

S2-059:
该漏洞(CVE-2019-0230)源于Apache Struts的框架在被强制使用时,会对标签的属性进行二次求值,这可能导致远程代码执行。只有在Struts标签属性中强制使用OGNL表达式时,才能触发漏洞。
S2-060:
该漏洞(CVE-2019-0233)源于在上传文件时,攻击者可以通过一个特别的请求造成访问权限的错误,从而导致上传操作失败,造成拒绝服务攻击。

受影响版本
Struts 2.0.0 – Struts 2.5.20

无风险版本
Struts version >=  Struts 2.5.22 

漏洞级别:高危

修复建议
1.推荐方法:升级到最新的 Struts 版本。官方于 2019 年 11 月份就发布了 version 2.5.22, Struts version >= Struts 2.5.22 不存在该漏洞。
2.临时方案 1:当输入参数的值重新分配给 Struts 的标签属性时,对其进行验证。
3.临时方案 2:不要在值以外的标签属性中使用 %{...} 或 ${...} 语法,禁止用户来修改输入。
4.临时方案 3:使用官方提供的 OGNL 表达式防注入保护。
参考链接:http://suo.im/5DEePS