公司新闻
缝隙简述
发现MinIO组件存在服务端伪造要求缝隙的信息,缝隙编号:CVE-2021-21287。
MinIO 是一个基于Apache License v2.0开源和谈的对象存储服务。它兼容亚马逊S3云存储服务接口,适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚构机镜像等,而一个对象文件可所以肆意大幼,从几kb到最大5T不等。
MinIO是一个轻量的服务,能够很单一的和其他利用的结合,类似 NodeJS, Redis 或者 MySQL。
风险等级
威胁等级:高
影响领域:宽泛
缝隙详情
该缝隙是由于MinIO组件中LoginSTS接口逻辑设计不当,导致服务端要求伪造缝隙。攻击者通过精心机关URL来批改对此职能的挪用。在服务器端要求伪造攻击中,攻击者能够利用服务器上的职能来读取或更新内部资源,可能结合内网其他服务进行执行肆意号令。
影响版本
建复建议
升级组件到安全版本:
安全版本:
MinIO >= RELEASE.2021-01-30T00-20-58Z
缝隙复现分析
缝隙分析:
建复纪录提交日志链接:
https://github.com/minio/minio/commit/eb6871ecd960d570f70698877209e6db181bf276#diff-2b3f29fdeadc144f19a2d0e02e076608e0dd58cb2cce21b1b974bfc5bd21304b
从建复纪录中能够看出,建复后移除了可控参数host的有关代码。

MinIO中的LoginSTS接口用于代理AWS STS登录要求,将发送到JsonRPC的要求转化成STS的方式,再转发给本地的9000端口。
未建复前,由于要求头是用户可控的,所以这里能够机关肆意的Host,进而机关一个SSRF缝隙。
缝隙复现
0x00 环境部署
使用docker-compose 部署

接见http://you-ip:9000到登录页面




