近日,安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现著名J2EE框架Struts2中存在远程代码执行的严重漏洞。目前Struts2官方已经确认漏洞(漏洞编号S2-045,CVE编号:CVE-2017-5638),并定级为高危风险。
该漏洞影响范围极广,影响国内外绝大多数使用Struts2开发框架的站点。受影响的软件版本为:Struts 2.3.5 - Struts2.3.31, Struts 2.5 - Struts 2.5.10
攻击者可通过发送恶意构造的HTTP数据包利用该漏洞,在受影响服务器上执行系统命令,进一步可完全控制该服务器,造成拒绝服务、数据泄露、网站造篡改等影响。由于该漏洞利用无需任何前置条件(如开启dmi,debug等功能)以及启用任何插件,因此漏洞危害极为严重。
漏洞披露后,在业界引起轩然大波,很多厂商都发布了紧急防护方案。安恒信息研究员深入分析发现很多第三方厂商所提供的过滤方案或临时加固版本并没有完全修复漏洞,攻击者仍可以利用该漏洞入侵受影响的站点。
安恒信息建议您采取以下措施有效防范Struts2 S2-045漏洞:
- 升级到Struts2.3.32 或者Struts 2.5.10.1版本。官方升级地址:https://dist.apache.org/repos/dist/release/struts/2.5.10.1/, https://dist.apache.org/repos/dist/release/struts/2.3.32/
- 删除commons-fileupload-x.x.x.jar文件。请注意删除该文件可能导致网站的上传功能或其他应用无法正常使用。
- 如果升级或删除文件的方式均不可行,建议部署安恒信息的WAF、玄武盾、APT等产品并确保规则库已经升级到最新版本。目前上述产品均已支持Struts2 S2-045漏洞的策略更新,可以有效防范该漏洞。