首页 » NetworkSec » Penetration » 正文

Apache Struts2 RCE bug (S2-045,CVE-2017-5638)

1.概述:

2017.03.07,网上曝出了apache struts2的RCE漏洞,编号CVE-2017-5638。

安恒信息安全研究院WEBIN实验室高级安全研究员nike.zheng发现著名J2EE框架——Struts2存在远程代码执行的严重漏洞。

2.什么是apache、struts?

Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。众所周知的SSH框架就是用了struts2。

3.漏洞原因:

Struts使用的Jakarta解析文件上传请求出现异常时,对异常的处理不当,当远程攻击者构造恶意的Content-Type(注入ognl语言),可能导致RCE。

官方链接:https://cwiki.apache.org/confluence/display/WW/S2-045

4.影响版本:

Struts 2.3.5 – Struts 2.3.31

Struts 2.5 – Struts 2.5.10

基本通杀了!

5.修复方案:

5.1:升级到Apache Struts 2.3.32或2.5.10.1版。

5.2:切换到不同的实现文件上传Multipart解析器(有3种可以选择,默认开启jakarta,此漏洞危害甚广!)

5.3:临时解决方案:删除commons-fileupload-x.x.x.jar文件(会造成上传功能不可用)。

 

Comment