MinIO漏洞
slug
series-status
status
summary
date
series
type
password
icon
tags
category
MinIO漏洞 CVE-2023-28432
敏感信息泄露+RCE
这通告把漏洞点都给出来了…
环境
看这篇文章《Docker下MinIO的使用》
docker-compose.yml
http://172.16.16.128:9001/ 到9004端口都是minio集群
漏洞分析
- *根据官方GitHub中的通告 **https://github.com/minio/minio/security/advisories/GHSA-6xvq-wj2x-3h3q 可知
在集群部署中,MinIO返回所有环境变量,包括MINIO_SECRET_KEY和MINIO_ROOT_PASSWORD,导致信息泄露。
diff可见增加了敏感字段skip的操作


cmd/routers.go:75 判断了一下是集群才会注册上述路由

poc
rce
minio是个go写的项目,go rce的方式不是很多,我的思路是找自更新的点。
加了一个二进制文件签名校验

这个函数在cmd/admin-handlers.go ServerUpdateHandler函数中被调用,对应的路由为
POST /minio/admin/v3/update?updateURL={updateURL}
有一些版本好像是v2ServerUpdateHandler函数中经过了几个处理,代码比较长,我贴一下精简之后的。
而在verifyBinary中envMinisignPubKey环境变量应该是默认为空,导致签名校验无效。

攻击者可以伪造updateURL来触发恶意自更新来执行任意二进制文件,不过这个动静可能有点大,而且恶意二进制文件应该是针对minio二开的,否则服务可能会挂掉。
最后一点,就是如何使用敏感信息泄露的用户来提权到admin用户。
Loading...