开发者社区> 问答> 正文

【漏洞公告】CVE-2017-5638:基于Jakarta plugin插件的Struts远程代码执行漏洞(S2-046)

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折起















展开
收起
正禾 2017-03-21 13:00:28 3407 0
1 条回答
写回答
取消 提交回答
  • 论坛总版主
    Re:【漏洞公告】CVE-2017-5638:基于Jakarta plugin插件的Struts远程代码执行漏洞(S ..
    又要升级了。。。。。。。。。。
    2017-03-21 13:20:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多