近日,国家信息安全漏洞库接到多家技术支撑单位报送的有关Apache Struts2存在远程代码执行漏洞(CNNVD-201706-928)的情况。7月7日,Apache官方网站针对上述漏洞发布了安全公告(S2-048)。国家信息安全漏洞库(CNNVD)对此进行了跟踪分析,情况如下:
一、 漏洞简介
Apache Struts2是Apache基金会发布的一款实现了MVC模式的中间件软件,广泛应用于Web开发和大型网站建设。
使用了Apache Struts 1插件的Apache Struts 2.3.X版本中存在远程代码执行漏洞(漏洞编号:CNNVD-201706-928,CVE-2017-9791)。该漏洞出现于Struts2的某个类中,该类是为了将Struts1中的Action包装成为Struts2中的Action,以保证Struts2的兼容性。在Struts2中的Struts1插件启用的情况下,远程攻击者可通过使用恶意字段值,构造特定的输入,发送到ActionMessage类中,从而导致任意命令执行,进而获取目标主机系统权限。
二、漏洞危害
由于Struts2广泛应用于大型互联网企业、政府、金融机构等网站建设,影响范围较广。根据CNNVD数据统计,目前超过3万个网站使用了Struts2。
远程攻击者可利用上述漏洞,对受影响的服务器实施远程攻击,从而导致任意代码执行或服务器拒绝服务。
三、修复措施
1、由于Apache官方并未发布升级补丁,仅提供了解决建议。部署Apache Struts2的单位,应及时检查所使用的Struts2版本是否在受影响范围内。如受影响,可采取以下缓解方案:
(1)停止启用struts2-struts1-plugin插件。
(2)停止使用showcase.war
(3)始终使用资源键,而不是将原始消息传递给ActionMessage,如下所示。
建议采用如下方式:
禁止采用如下方式:
2、部署受影响Struts版本的单位应密切关注Apache官方网站发布的相关信息,及时修复漏洞,消除隐患。
本报告由CNNVD技术支撑单位—上海斗象信息科技有限公司、杭州安恒信息技术有限公司等公司提供支持(排名不分先后)。
CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD及时联系。
联系方式: [email protected]
![weinxin](http://zone.ci/zone_ci_images/zone.ci.png)
评论