漏洞通告 | Apache Struts 远程代码执行漏洞

  • A+
所属分类:安全漏洞


漏洞通告 | Apache Struts 远程代码执行漏洞

漏洞背景

Apache Struts 是 Apache软件基金会(ASF)赞助的一个开源项目。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC设计模式的应用框架。官方于2020年8月13日发布安全公告,修复了一枚远程代码执行漏洞,编号为S2-059 (CVE-2019-0230)。


漏洞描述

漏洞发生在标签解析处,当标签的某些属性被用户可控且位于%{和}中间时,会造成OGNL表达式二次解析,从而导致远程命令执行漏洞。比如:


<s:url var="url" namespace="/employee" action="list"/><s:a id="%{skillName}" href="%{url}">List available Employees</s:a>


当skillName被用户可控时,用户可以输入类似%{1+1}的语句来造成OGNL表达式二次解析。


漏洞危害



影响版本

Struts 2.0.0 - Struts 2.5.20


解决方案

  • 将用户可控参数赋值给Struts标签属性之前要进行验证

  • 尽量不要在除了value以外的标签属性中使用%{..}或${..}语法来引用用户可控的参数

  • 将Struts升级到>=2.5.22的版本



参考信息

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



山石网科安全技术研究院简称“山石安研院”正式成立于2020年4月,是山石网科的信息安全智库部门,其前身是原安全服务部下的安全研究团队。山石安研院整体架构包括干将、莫邪两大安全实验室,以及安全预警分析、高端攻防培训两支独立的技术团队。安研院主要负责反APT跟踪和研究、出战及承办全球攻防赛事、高端攻防技术培训、全球中英文安全预警分析发布、各类软硬件漏洞挖掘和利用研究、承接国家网络安全相关课题、不定期发布年度或半年度的各类技术报告及公司整体攻防能力展现。技术方向包括移动安全、虚拟化安全、工控安全、物联安全、区块链安全、协议安全、源码安全、反APT及反窃密。


自2015年以来为多省公安厅提供技术支撑工作,为上合峰会、财富论坛、金砖五国等多次重大活动提供网络安保支撑工作。在多次攻防赛事中连获佳绩,网安中国行第一名,连续两届红帽杯冠军、网鼎杯线上第一名,在补天杯、极棒杯、全国多地的护网演习等也都获得优秀的成绩,每年获得大量的CNVD、CNNVD、CVE证书或编号。


如需帮助请咨询 [email protected]


漏洞通告 | Apache Struts 远程代码执行漏洞


发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: