Apache Struts
官方再次发布公告,Struts2再次发现漏洞,官方将最新补丁命名为S2-046,从公布的补丁说明来看,该补丁和S2-045的CVE编号一致约为CVE-2017-5638。
有关该漏洞详情如下:
漏洞编号:
CVE-2017-5638
漏洞名称:
基于Jakarta plugin插件的Struts远程代码执行漏洞(S2-046)
官方评级:
高危
漏洞描述:
该漏洞是在使用
[font=&]Jakarta Multipart解析器执行文件上传时可能的RCE(类似于S2-045)。
漏洞利用条件和方式:
黑客通过Jakarta 文件上传插件构建文件名内容构造恶意的OGNL内容,实现远程利用该漏洞执行代码。
S2-046有两个利用方式一个是Content-Disposition的filename存在空字节;
另一个是Content-Disposition的filename不存在空字节。
其中,当Content-Disposition的filename不存在空字节并想要利用成功的话,还需要满足以下两个条件:
- a. Content-Length 的长度值需超过Struts2允许上传的最大值(2M);
- b.数据流需要经过JakartaStreamMultiPartRequest。(在Struts使用Jakarta默认配置时,数据流并没有经过JakartaStreamMultiPartRequest,如果struts.xml包括一下配置,则说明数据流经过了JakartaStreamMultiPartRequest: )
<constant name="struts.multipart.parser" value="jakarta-stream" />
漏洞影响范围:
- Struts 2.3.5 - Struts 2.3.31
- Struts 2.5 - Struts 2.5.10
漏洞修复建议(或缓解措施):
- 严格过滤 Content-Type、filename里的内容,严禁ognl表达式相关字段;
- 如果您使用基于Jakarta插件,强烈建议您升级到Apache Struts 2.3.32或2.5.10.1版本;
- 您可以使用阿里云云盾态势感知产品进行检测是否存在此漏洞;
- 同时可以选用阿里云云盾WAF对该漏洞进行防御,点击查看“云盾WAF介绍 ”
提醒:在升级前请做好快照备份。
情报来源:
- https://help.aliyun.com/knowledge_detail/51234.html
- https://help.aliyun.com/knowledge_detail/51840.html
- http://struts.apache.org/docs/s2-045.html
- http://struts.apache.org/docs/s2-046.html
- https://community.hpe.com/t5/Security-Research/Struts2-046-A-new-vector/ba-p/6949723#
阿里云整套安全产品和服务
云盾
:
集阿里巴巴集团多年来安全技术研究积累的成果,同时结合阿里云计算平台强大的数据分析能力
最热活动:云产品5折起