CVE-2019-0230: Apache Struts 2漏洞PoC公布
2020-08-18 12:11:00 Author: www.4hou.com(查看原文) 阅读量:702 收藏

8月13日,Apache发布了2条安全公告,修复了影响Apache Struts 2的远程代码执行漏洞(CVE-2019-0230)和DoS 漏洞(CVE-2019-0233)。同时,安全研究人员在GitHub 上公布了PoC 代码。

注:Apache Struts是用来创建Java web引用的开源的MVC框架。

CVE-2019-0230

CVE-2019-0230漏洞是一个Object-Graph Navigation Language (OGNL)强制两次评估的漏洞,当Struts尝试对tag属相中的原始用户输入进行评估时会触发该漏洞。攻击者可以通过注入恶意OGNL表达式到OGNL表达式中使用的属性中来利用该漏洞。攻击者利用该漏洞可以实现远程代码执行。

Apache安全公告中给出的有漏洞的tag 属性示例如下:

在Struts 2中,开发者可以对特定的tag 属性强制进行两次评估。Apache称,2.5.22之前的Struts 版本受到该漏洞的影响。目前补丁已经发布。

CVE-2017-5638漏洞是Apache Struts 2中的一个高危的远程代码执行漏洞,导致了众多的数据泄露事件。与CVE-2017-5638不同的是,CVE-2019-0230目前被Apache评估为危险漏洞,但还没有给出CVSS 评分。目前,该漏洞的实际影响还不能完全确定。

CVE-2019-0233

CVE-2019-0233漏洞是文件上传时的访问权限重写导致的DoS漏洞。根据Apache的安全公告,攻击者可以在文件上传操作中修改请求将上传的文件设定为只读权限。一旦文件上传,对文件的任何操作都会失败。利用该漏洞会导致之后的文件上传操作失败,或者引发DoS条件。

PoC

Apache发布安全公告后,有多位研究人员在GitHub 上发布了CVE-2019-0230的PoC代码。在实际的漏洞利用场景中,每个payload可能根据应用的不同而不同。此外,应用还需要以一种允许攻击者在OGNL 表达式中使用的属性中提供无效的输入的方式来开发才可以利用该漏洞。研究人员上传到GitHub 的PoC代码示例:

https://github.com/A2gel/CVE-2019-0230

https://github.com/PrinceFPF/CVE-2019-0230

https://github.com/fengziHK/CVE-2019-0230

漏洞影响和安全建议

CVE-2019-0230 和 CVE-2019-0233漏洞影响Apache Struts 2.00 到2.5.20版本。Apache Struts 2.5.22版本中修复了这2个漏洞。研究人员建议开发者尽快更新到最新版本。Apache称升级到最新版本可以限制二次评估的恶意效果,并关闭该攻击向量。此外,Apache还鼓励开发者避免使用原始表达式语言,尽量使用Structs tag来代替。

本文翻译自:https://zh-cn.tenable.com/blog/cve-2019-0230-apache-struts-potential-remote-code-execution-vulnerability如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/p7m2
如有侵权请联系:admin#unsafe.sh