在Freemarker标记中使用无意的表达式而不是字符串文字时,可能会发生远程执行代码攻击
脆弱性的影响 | 当开发人员在Freemarker标签中使用错误的构造时,可能会发生RCE攻击 |
---|---|
最大安全评级 | 中等 |
建议 | 升级到Struts 2.5.12或Struts 2.3.34 |
受影响的软件 | Struts 2.0.1 - Struts 2.3.33, Struts 2.5 - Struts 2.5.10 |
CVE标识符 | CVE-2017-12611 |
当使用表达式文字或强制表达式在Freemarker标签(见下面的示例)和使用请求值可能会导致RCE攻击。
|
在这两种情况下,属性都使用可写 value
属性,在这两种情况下,这都会被Freemarker的表达式所威胁。
解
不要在代码中使用这样的结构,或者使用只读属性来初始化value
属性(仅限getter属性)。您可以升级到Apache Struts版本2.5.12或2.3.34,其中包含更多受限制的Freemarker配置,但是删除易受攻击的构造是可取的。
没有反向不兼容问题。
检查您的代码并清除易受攻击的构造。
本文由 安全周 作者:SecJack 发表,转载请注明来源!
您必须[登录] 才能发表留言!