一、漏洞详情
Apache官方发布Struts 2.0.0到2.5.25版本中存在OGNL表达式注入的远程代码执行漏洞(S2-061)公告,对应CVE编号:CVE-2020-17530。
根据公告,在Struts 2.0.0到2.5.25版本中,在Struts某些标签属性内强制执行OGNL 表达式,可能导致成远程代码执行效果,恶意攻击者成功利用该漏洞可以获得目标系统管理权限,建议部署有该框架的应用及时升级到漏洞修复的版本。
CVE-2020-17530漏洞,与S2-059漏洞相似,如果开发人员使用了%{...}语法,则攻击者可以在Struts某些标签属性内强制执行OGNL 表达式,造成OGNL表达式二次执行,从而实现代码执行效果。
二、影响范围
Struts 2.0.0-Struts 2.5.25
三、修复建议
目前漏洞细节已经部分公开,参考S2-059的利用应该很快会出现利用代码,建议及时测试并升级到漏洞修复的版本,或部署必要的安全防护设备拦截恶意攻击代码。官方下载地址:http://struts.apache.org/download.cgi。
基于Struts 2框架的开发不要在标签属性中使用%{...}语法引用未经验证的用户可修改输入,由于Struts 2历史上报过多次漏洞,建议使用该组件的用户多专注官方漏洞公告。