漏洞风险提示 | Apache Struts 2 远程代码执行漏洞(S2-059 / CVE-2019-0230)

admin 2020年8月14日00:05:50评论285 views字数 822阅读2分44秒阅读模式
        长亭漏洞风险提示       


     Apache Struts 2 远程代码执行漏洞

(S2-059 / CVE-2019-0230)


Apache Struts 2 是一个基于 MVC 设计模式的 Web 应用框架。其官方在 8 月 13 号发出安全通告,声明对其存在的一个远程代码执行漏洞进行修复:

https://cwiki.apache.org/confluence/display/WW/S2-059


该漏洞编号为 S2-059,CVE 编号为 CVE-2019-0230,由来自 Apple 安全研究团队的 Matthias Kaiser 报告。


漏洞描述


Apache Struts 2 会对某些标签属性(比如 id)的属性值进行二次表达式解析,因此在某些场景下将可能导致远程代码执行。


此问题仅适用于当在 Struts 标签属性内强制进行 OGNL 表达式解析时的情况,比如如下写法:


<s:url var="url" namespace="/employee" action="list"/><s:a 

id="%{skillName}" href="%{url}">List available Employees</s:a>

如果攻击者能够在请求中控制 skillName 属性值且应用未对其进行检查校验,则攻击者可以直接传入一个 OGNL 表达式,那么最终当标签渲染的时候,skillName 的表达式就会因为二次解析而被执行。


影响范围


  • Struts 2.0.0 - Struts 2.5.20


解决方案


根据官方公告,最好的解决方法是对每一个标签属性的传入值进行安全校验,并且不应该在除了 value 以外的其他属性值中使用 %{...} 或 ${...} 进行表达式解析。

也可以将 Struts 升级到 2.5.22 版本对此漏洞进行缓解。

产品支持


雷池内置语法引擎默认支持检测 OGNL 表达式注入攻击,请确保雷池相关配置项开启。


参考资料



  • https://cwiki.apache.org/confluence/display/WW/S2-059



漏洞风险提示 | Apache Struts 2 远程代码执行漏洞(S2-059 / CVE-2019-0230)


漏洞风险提示 | Apache Struts 2 远程代码执行漏洞(S2-059 / CVE-2019-0230)




  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月14日00:05:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞风险提示 | Apache Struts 2 远程代码执行漏洞(S2-059 / CVE-2019-0230)http://cn-sec.com/archives/90045.html

发表评论

匿名网友 填写信息