千疮百孔的 Struts2 应用又曝出存在新的中危远程代码执行漏洞。该漏洞由京东安全汇报,编号为 CVE-2017-12611 ,漏洞危害程度为中危(Moderate)。当用户在Freemarker标签中使用错误的构造时,可能会造成远程代码执行攻击

漏洞编号
CVE-2017-12611

S2-053

漏洞影响
Struts 2.0.1 - Struts 2.3.33, Struts 2.5 - Struts 2.5.10

漏洞概述
当使用表达式文字或强制表达式在Freemarker标签(见下面的示例)和使用请求值可能会导致RCE攻击。

<@s.hidden name="redirectUri" value=redirectUri />
<@s.hidden name="redirectUri" value="${redirectUri}" />
在这两种情况下,属性都使用可写 value属性都会被Freemarker的表达式所威胁。

解决方案
1、升级到Apache Struts版本2.5.12或2.3.34

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

最后修改:2021 年 03 月 09 日
如果觉得我的文章对你有用,请随意赞赏