S2-053 CVE-2017-12611
apache官网参考链接:https://struts.apache.org/docs/s2-053.html?from=timeline&isappinstalled=0
面对群体 | 所有Struts 2开发人员和用户 |
漏洞影响 | 当开发人员在Freemarker标签中使用错误的构造时,可能会发生RCE攻击 |
临时解决方案 | 升级到Struts 2.5.12或Struts 2.3.34 |
受影响的Struts2版本 | Struts 2.0.1 – Struts 2.3.33, Struts 2.5 – Struts 2.5.10 |
不受影响的版本 |
Struts 2.3.34 Struts 2.5.12 |
漏洞作者 | Lupin <lupin1314 at gmail dot com> – jd.com security team |
CVE编号 |
CVE-2017-12611 |
参考链接:
Struts 2.5.12: https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.12
Struts 2.3.34: https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.34
漏洞问题点:
<@s.hidden name="redirectUri" value=redirectUri /> <@s.hidden name="redirectUri" value="${redirectUri}" />
在这两种情况下,属性都使用可写 value
属性,在这两种情况下,这都会被Freemarker的表达式所威胁。
不要在代码中使用这样的结构,或者使用只读属性来初始化value
属性(仅限getter属性)。您可以升级到Apache Struts版本2.5.12或2.3.34,其中包含更多受限制的Freemarker配置,但是删除易受攻击的构造是可取的。
解决方案:
检查您的代码并清除易受攻击的构造。
由于2.5.12版本仍然受到近日的S2-052漏洞影响 , 建议用户直接升级到最新的2.5.13版本。
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13