CVE-2023-28432 MinIO的信息泄露漏洞分析

admin 2023年6月16日09:23:45评论77 views字数 1313阅读4分22秒阅读模式
漏洞简介

MinIO 是一种开源的对象存储服务,它兼容 Amazon S3 API,可以在私有云或公有云中使用。MinIO 是一种高性能、高可用性的分布式存储系统,它可以存储大量数据,并提供对数据的高速读写能力。MinIO 采用分布式架构,可以在多个节点上运行,从而实现数据的分布式存储和处理。

在集群部署的MinIO中,未经身份认证的远程攻击者通过发送特殊HTTP请求即可获取所有环境变量,其中包括MINIO_SECRET_KEYMINIO_ROOT_PASSWORD,造成敏感信息泄露,最终可能导致攻击者以管理员身份登录MinIO

影响范围

MinIO verify接口存在敏感信息泄漏漏洞,攻击者通过构造特殊URL地址,读取系统敏感信息。

版本:RELEASE.2019-12-17T23-16-33Z <= MinIo < RELEASE.2023-03-20T20-16-18Z

漏洞复现

访问 ip:9001/login

CVE-2023-28432 MinIO的信息泄露漏洞分析

GET /api/v1/check-version HTTP/1.1

CVE-2023-28432 MinIO的信息泄露漏洞分析

版本小于RELEASE.2023-03-20T20-16-18Z则存在漏洞。

漏洞poc:

POST /minio/bootstrap/v1/verify

CVE-2023-28432 MinIO的信息泄露漏洞分析

拿到环境变量后,可以通过管理员权限访问自更新的接口来替换二进制文件getshell。

漏洞分析

Github回溯版本2023-03-13T19-46-17Z版本为例:

访问main.go:

主函数指向:minio "github.com/minio/minio/cmd"

CVE-2023-28432 MinIO的信息泄露漏洞分析

通过payload中的bootstrap路径,找到 bootstrap-peer-server.go:

CVE-2023-28432 MinIO的信息泄露漏洞分析

找到接受http请求的函数,由getServerSystemCfg()接受参数

CVE-2023-28432 MinIO的信息泄露漏洞分析

getServerSystemCfg()去获取环境变量skipEnvs[envK]。

CVE-2023-28432 MinIO的信息泄露漏洞分析

skipEnvs[envK]包含环境变量信息。根据官方说明,MinIO在启动时会从环境变量中读取预先设置的用户和密码,默认情况下:minioadmin/minioadmin。

例如decom.sh下的预先设置密码:

CVE-2023-28432 MinIO的信息泄露漏洞分析

当通过信息泄露获得账号密码后,可以登录MinIO替换更新二进制文件触发RCE。

MinIO对更新包虽然调用sha256sum校验,但是envMinisignPubKey为空,所以sha256sum失效了。

CVE-2023-28432 MinIO的信息泄露漏洞分析

修复方案

1、升级到安全版本RELEASE.2023-03-20T20-16-18Z,下载链接:https://github.com/minio/minio/releases/tag/RELEASE.2023-03-20T20-16-18Z。

2、临时修复方案,在waf上配置策略,拒绝所有post到/minio/bootstrap/v1/verify的请求。

参考
https://xz.aliyun.com/t/12356
https://nvd.nist.gov/vuln/detail/CVE-2023-28432

https://github.com/Mr-xn/CVE-2023-28432

原文始发于微信公众号(第59号):CVE-2023-28432 MinIO的信息泄露漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月16日09:23:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-28432 MinIO的信息泄露漏洞分析https://cn-sec.com/archives/1812356.html

发表评论

匿名网友 填写信息