Struts Freemarker曝标签远程代码执行中危漏洞(S2-053)

Struts Freemarker曝标签远程代码执行中危漏洞(S2-053)


2017年9月7日,Apache Struts发布最新的安全公告(S2-053),漏洞级别为中危,该漏洞由京东安全汇报,CVE编号为CVE-2017-12611。

Apache Struts2 Freemarker标签如果被错误的配置使用导致RCE远程代码执行漏洞。



89.jpg


受影响版本

Struts 2.0.1 – Struts 2.3.33, Struts 2.5 – Struts 2.5.10

不受影响版本

Struts2.5.12 or Struts 2.3.34

漏洞分析

如果标签内容是用“${}”这种方式解析,会被直接带入到OGNL中执行造成远程代码执行漏洞。

<@s.hiddenname="redirectUri" value="${redirectUri}" />

解决方案

1、升级到Apache Struts版本2.5.12或2.3.34

2、使用只读属性来初始化value属性(仅限getter属性)

3、Freemarker标签内容不要通过Request方式获取