背景介绍

近日,安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现著名J2EE框架——Struts2存在远程代码执行的漏洞,Struts2官方已经确认该漏洞(S2-045,S2-046),并定级为高危漏洞。S2-046(CNNVD编号:CNNVD-201703-152 ;CVE编号:CVE-2017-5638)漏洞的报告者来自三家:qualcomm(高通)、dbappsecurity(杭州安恒)、HPE(惠普企业)。

S2-046与S2-045漏洞属于同一类型,不同向量。如果在之前S2-045漏洞曝光后用户已经升级过官方补丁,这次就不受影响。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。(来源:百度百科)

漏洞概要

Apache Struts 2 2.3.32之前的2 2.3.x版本和2.5.10.1之前的2.5.x版本中的Jakarta Multipart解析器存在安全漏洞,该漏洞源于程序没有正确处理文件上传。攻击者可以通过构造HTTP请求头中的Content-Type值可能造成远程任意代码执行。

【重大漏洞预警】Struts 2 远程代码执行漏洞(s2-045\s2-046) (含PoC)-E安全

漏洞的报告者来自三家:qualcomm(高通)、dbappsecurity(杭州安恒)、HPE(惠普企业)。

该漏洞危害程度极高,黑客可以利用该漏洞通过浏览器在远程服务器上执行任意系统命令,将会对受影响站点造成严重影响,引发数据泄露、网页篡改、植入后门、成为肉鸡等安全事件。由该应用较为广泛,且攻击利用代码已经公开,可能会导致互联网上大规模攻击的出现。

特别是政府、公安、交通、金融和运营商等尤其需要重视该漏洞,这些单位和机构需要非常重视信息安全保密工作,敏感信息的泄漏有可能对国家造成沉重的打击,甚至会违反相关的法律规定。在最近几年APT攻击横行的时期,骇客早也不再以挂黑页炫耀为目的,攻击者可能通过该漏洞作为突破口渗透进入其内部网络长期蛰伏,不断收集各种信息,直到收集到重要情报。请记住,在如今的互联网时代,只要是能换成钱的东西,骇客们都愿意尝试,其中更不乏诸多政治骇客(如国际黑客组织Anonymous)。

针对此次漏洞,安恒安全专家建议尽快更新Struts2版本或采用第三方防护措施如具备防护能力的WEB防火墙或云防护产品进行防范。


S2-045漏洞影响

攻击者可以通过构造HTTP请求头中的Content-Type值可能造成远程代码执行。