漏洞背景
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]
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论