漏洞公告:
2020年8月13日,Apache官方发布Struts 2.0.0到2.5.20版本中存在OGNL表达式注入的远程代码执行漏洞(S2-059)和拒绝服务漏洞(S2-060)公告,对应CVE编号:CVE-2019-0230、CVE-2019-0233,相关链接:
https://cwiki.apache.org/confluence/display/WW/S2-059
https://cwiki.apache.org/confluence/display/ww/s2-060
根据公告,在Struts 2.0.0版本的double evaluation机制中,当在Struts标签属性内强制执行OGNL evaluation时存在被恶意注入OGNL表达式的风险,从而实现代码执行效果;另外在将文件上传到使用getter暴露文件的Action时,恶意攻击者可以操纵该请求,实现拒绝服务效果,建议部署有该框架的应用及时升级到漏洞修复的版本。
Apache Struts历史安全公告参考:
https://cwiki.apache.org/confluence/display/WW/Security+Bulletins
影响范围:
OGNL表达式注入的远程代码执行漏洞(CVE-2019-0230)和拒绝服务漏洞(CVE-2019-0233)影响以下版本:
Struts 2.0.0-Struts 2.5.20,建议更新到Struts 2.5.22以上版本
官方下载地址:
http://struts.apache.org/download.cgi
GitHub下载地址:
https://github.com/apache/struts/releases
漏洞描述:
CVE-2019-0230漏洞,与S2-029、S2-036漏洞相似,在Struts 2.0.0版本的double evaluation机制中,当在Struts标签属性内强制执行OGNL evaluation时存在被恶意注入OGNL表达式的风险,从而实现代码执行效果,该漏洞实际已在2019年11月发布的2.5.22版本中修复。
CVE-2019-0233漏洞,在将文件上传到使用getter暴露文件的Action时,恶意攻击者可以操纵该请求,从而实现拒绝服务效果,在实际利用场景中,可以将上传文件的工作副本甚至容器临时上传目录设置为只读访问,这将导致对文件或文件上载的后续操作失败并显示错误。
缓解措施:
建议及时测试并升级到漏洞修复的版本,或部署必要的安全防护设备拦截恶意攻击代码。