全部产品
Search
文档中心

【漏洞公告】CVE-2017-12611:Struts2 Freemarker标签远程执行命令漏洞(S2-053)

更新时间: 2018-05-10

2017年9月6日,Struts官方发布了一个中危安全漏洞,该漏洞CVE编号为CVE-2017-12611。在一定条件下,当开发人员在Freemarker标签中使用错误的构造时,可能会导致远程代码执行,带来一定的安全风险。

漏洞详情见下文。


漏洞编号

CVE-2017-12611

漏洞名称

Struts2 Freemarker标签远程执行命令漏洞(S2-053)

官方评级

中危

漏洞描述

当在Freemarker标签中使用表达式常量或强制表达式时,使用请求值可能会导致远程代码执行漏洞。

  1. <@s.hidden name="redirectUri" value=redirectUri />
  2. <@s.hidden name="redirectUri" value="${redirectUri}" />

漏洞利用条件和方式

  • 开启debug模式
  • 远程利用

漏洞影响范围

  • Struts 2.0.1 - 2.3.33
  • Struts 2.5 - 2.5.10

默认配置下不受影响。

漏洞检测

开发人员检查Freemarker标签是否使用了可写属性,并在受影响范围内。

漏洞修复建议(或缓解措施)

  • 不要在代码中使用上述结构,或者配置只读属性来初始化value属性(仅限getter属性)。

  • 升级到Apache Struts 2.5.13或2.3.34版本。

情报来源

https://struts.apache.org/docs/s2-053.html