近日,安全研究人员发现著名J2EE框架——Struts2存在远程代码执行的漏洞,Struts2官方已经确认该漏洞(S2-045),并定级为高危漏洞。
漏洞描述
该漏洞是Apache strut2 最新的一个漏洞,CVE编号CVE-2017-5638.(基于 Jakarta plugin插件的Struts远程代码执行漏洞),该漏洞会造成RCE远程代码执行,恶意用户可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令,可直接造成系统被控制。黑客通过Jakarta 文件上传插件实现远程利用该漏洞执行代码。
其风险等级为:高危
因为Apache Struts2是一种国内使用非常广泛的Web应用开发框架,被大量的Web网站所使用。目前,对于此漏洞的利用代码已经扩散,对网站安全构成非常高的现实威胁。
影响系统及版本:Struts 2.3.5 - Struts 2.3.31、Struts 2.5 - Struts 2.5.10
临时处理方案
* 修改启动虚拟机相关选项,修改Struts 2上传文件时的上传解析器为非Jakarta
Struts 2默认用Jakarta的Common-FileUpload的文件上传解析器,这是存在漏洞的,默认为以下配置
- struts.multipart.parser=jakarta
指定其他类型的解析器,以使系统避免漏洞的影响:
指定使用COS的文件上传解析器
- struts.multipart.parser=cos
或指定使用Pell的文件上传解析器
- struts.multipart.parser=pell
修复建议
1、如果用户使用基于Jakarta的多分片文件上传解析器,强烈建议用户立即升级到Apache Struts 2.3.32 或 2.5.10.1 版本。
2、天眼(SkyEye)未知威胁感知系统的流量探针已加入对利用此漏洞的攻击检测规则,可以精准地发现相关的攻击并判定是否攻击成功,请升级天眼未知威胁感知系统到3.0.3.1或以上版本并升级最新的检测规则。
天眼(SkyEye)未知威胁感知系统检测到攻击截图
3、如客户在无法确认是否使用该框架或相关版本,可通过360网站云监测服务、或360网站智能监控系统检查确认是否爆出该漏洞,从而进行下一步的防御措施。
4、在漏洞爆出的第一时间,360防火墙、WAF及安域产品均已更新产品识别规则库,将针对该漏洞攻击进行识别和防护。还未部署该产品的客户,可及时联系360企业安全遍布全国的办事机构及时获取产品进行防护: http://b.360.cn/home/aboutus?type=contact。
5、客户也可通过 “云”+“端”的防护方案对该类型漏洞进行防护,从另一个维度解决问题。将方案通过在将安全保护代码嵌入到运行中的服务器应用程序,通过实时拦截所有的系统调用并确保调用安全,通过与云端防护系统的联动,最终实现应用程序自我保护,同时可为客户提供针对Web系统web攻击防护、网页防篡改等安全防护能力。通过该方案的实施部署,针对该类型的漏洞可做到无需升级、智能防护,从另一个维度根本解决这类漏洞问题。
应急响应
如部分客户无法确认是否使用受影响的Struts框架,无法自行修复该漏洞,可拨打360企业安全集团客户热线,我们将尽力协助客户完成该漏洞修复:4008-136-360。
参考链接
https://cwiki.apache.org/confluence/display/WW/S2-045?from=timeline&isappinstalled=0