Apache Struts 远程代码执行漏洞安全预警(CVE-2016-0785/CVE-2016-4438)


近日struts2官方发布了多个安全漏洞,其中S2-036,S2-037分别为2个远程代码执行漏洞(CVE-2016-0785,CVE-2016-4438),被攻击者利用可获取Struts程序的权限远程执行任意命令。
 
影响版本:
        Struts 2.3.20 - Struts 2.3.28.1
 
漏洞描述:
        S2-036漏洞:该漏洞与前期爆发的S2-029类似,在开启强制OGNL double evaluation的情况下,攻击者用可以将构造的特定代码放入标签属性,从而达到远程代码执行的目的。(由于需要开发者使用了特定的代码写法才会导致漏洞,因此官方将该漏洞风险等级调整为中级)
 
漏洞详情https://cwiki.apache.org/confluence/display/WW/S2-036 
        S2-037漏洞:该漏洞被官方定级为高危,若服务端使用到REST插件,攻击者可远程传递一个恶意的表达式实现远程代码执行攻击。
 
漏洞详情:https://cwiki.apache.org/confluence/display/WW/S2-037 
 
漏洞验证:
        检查您当前的struts2版本,若版本在受影响版本范围,且使用到REST插件,说明存在漏洞。

        修复方案:
        如果您使用了Struts2并在受影响版本内,我们建议您尽快按照如下方案进行修复:
        1、在使用的标签属性中对每一个传入的参数值进行适当的验证;
        2、定期定日备份数据以及源代码,在被攻击第一时间恢复和还原;
        3、目前官方已经推出了Struts 2.3.29和Struts 2.5.1修复这几个问题,大家可以针对自己所使用的版本进行升级(推荐)
        下载地址:https://github.com/apache/struts/releases/ 
 

Struts2作为广泛应用的Web框架,安全问题一直层出不穷。为了保证安全,建议您在业务处理中不应信任用户提交上来的任何数据,做好安全过滤。最好能在Ognl的执行入口加入过滤黑名单,并及时将Struts更新到最新版本。

0 个评论

要回复文章请先登录注册