安全社区

黑盾云安全社区,与你一起分享安全领域的知识与智慧

安全通告|Apache Struts2远程代码执行漏洞(S2-053)

紧急通告2017-09-08 02:07:37 2542次围观

尊敬的海峡用户:




2017年9月7日,Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-053,CVE编号为CVE-2017-12611。当struts的Freemarker模板引擎页面标签中采用非预期表达式,可能造成远程代码执行漏洞,导致系统被控制。


【漏洞描述】

当struts的Freemarker模板引擎页面标签中采用非预期表达式,攻击者有可能在页面标签参数属性值中注入恶意的代码,可能造成远程代码任意执行。


【漏洞危害】

此次漏洞危害等级:中等。

攻击者利用该漏洞,可能远程执行任意代码


【漏洞影响版本】

Struts 2.0.1 - Struts 2.3.33

Struts 2.5 - Struts 2.5.10


【修复方案】

1 查看系统是否采用有漏洞版本struts框架,如在漏洞影响版本范围内,建议您升级struts版本至Struts 5.12或者 2.3.34 ;

查看struts版本号如下:

可在应用系统部署目录下的web-inflib目录下查看类似struts2-core-xx.xx.xx.jar的jar包,其中xx.xx.xx即为Struts版本号

提醒:在升级前请做好快照备份。


2代码层面修复,对客户端GET、POST请求的内容进行严格过滤,如可采用filter过滤类进行全局过滤,过滤特征如下:ProcessBuilder、Runtime、FileInputStream、FileOutputStream、getRealPath、{、}等

(由于升级Struts框架可能会影响业务,可采用代码层面修复方式)


3用户应避免在Freemarker模板引擎页面标签结构代码中使用可写的属性,或者使用只读属性来初始化value属性。


【参考资料】

https://cwiki.apache.org/confluence/display/WW/S2-053









上一篇: 安全通告|Struts2(S2-052)远程命令执行漏洞

下一篇: 海峡信息——紧急通告2016年第08号