近日,国家信息安全漏洞库(CNNVD)收到关于Apache Struts2 (S2-045)远程代码执行漏洞(CNNVD-201703-152)的情况报送。由于该漏洞影响范围广,危害级别高,国家信息安全漏洞库(CNNVD)对此进行了跟踪分析,情况如下:

一、 漏洞简介

Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web 应用的开源MVC框架,主要提供两个版本框架产品: Struts 1和Struts 2。

ApacheStruts 2.3.5 – 2.3.31版本及2.5 – 2.5.10版本存在远程代码执行漏洞(CNNVD-201703-152 ,CVE-2017-5638)。该漏洞是由于上传功能的异常处理函数没有正确处理用户输入的错误信息。导致远程攻击者可通过发送恶意的数据包,利用该漏洞在受影响服务器上执行任意命令。

二、 漏洞危害

攻击者可通过发送恶意构造的HTTP数据包利用该漏洞,在受影响服务器上执行系统命令,进一步可完全控制该服务器,造成拒绝服务、数据泄露、网站造篡改等影响。由于该漏洞利用无需任何前置条件(如开启dmi ,debug等功能)以及启用任何插件,因此漏洞危害较为严重。

三、 修复措施

目前,Apache官方已针对该漏洞发布安全公告。请受影响用户及时检查是否受该漏洞影响。

自查方式

用户可查看web目录下/WEB-INF/lib/目录下的struts-core.x.x.jar 文件,如果这个版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5 到 Struts2.5.10之间则存在漏洞。

升级修复

受影响用户可升级版本至Apache Struts 2.3.32 或 Apache Struts 2.5.10.1以消除漏洞影响。

临时缓解

如用户不方便升级,可采取如下临时解决方案:

l  删除commons-fileupload-x.x.x.jar文件(会造成上传功能不可用)。

关于Apache Struts2(S2-045)漏洞情况的通报-RadeBit瑞安全