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

    栏目:安全资讯

    blogbug   近日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的情况下,攻击者用可以将构造的特定代码放入标签属性,从而达到远程代码执行的目的。(由于需要开发者使用了特定的代码写法才会导致漏洞,因此官方将该漏洞风险等级调整为中级)漏洞详情

    S2-037漏洞:该漏洞被官方定级为高危,若服务端使用到REST插件,攻击者可远程传递一个恶意的表达式实现远程代码执行攻击。漏洞详情

    漏洞验证:

    检查您当前的struts2版本,若版本在受影响版本范围,且使用到REST插件,说明存在漏洞。

    修复方案:

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

    UCloud温馨提醒:

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