关于Apache Struts2 Freemarker tag远程代码执行漏洞通知
Apache Struts官方对外再次发布了新的远程代码执行漏洞(官方编号:S2-053,CVE:CVE-2017-12611),攻击者利用该漏洞同样可远程控制受影响服务器。为避免您的业务受影响,建议您及时开展安全修复工作,漏洞详情如下:
【漏洞概述】
当Struts2采用FreeMarker模板,当使用了如下有风险的模版标签构造方式时,将可能允许攻击者借此发起远程代码执行攻击:
<@s.hidden name="redirectUri" value=redirectUri /><@s.hidden name="redirectUri" value="${redirectUri}" />
上述两个场景中,value都使用到了可写的属性值,此时,Freemarker会将属性值作为表达式执行,从而带来代码执行风险;
【风险等级】
中风险
【漏洞风险】
远程命令执行
【影响版本】
Struts 2.0.1 - Struts 2.3.33
Struts 2.5 - Struts 2.5.10
【安全版本】
Struts 2.5.12
Struts 2.3.34
【修复建议】
1)推荐方案:更新当前受影响版本到【安全版本】(已升级到Apache Struts 2.5.13版本的用户默认不受该漏洞影响);
2)临时解决方案:在代码中不要使用上述存在风险的模版标签构造方式,或使用只读方式来初始化value属性(仅限getter属性);
【漏洞参考】
1)https://cwiki.apache.org/confluence/display/WW/S2-053
2)https://struts.apache.org/docs/s2-053.html
页:
[1]