CVE-2025-62506CVE-2025-62506是MinIO对象存储系统中发现的一个高危权限提升漏洞,CVSS评分为8.1。该漏洞存在于所有RELEASE.2025-10-15T17-29-55Z之前的MinIO版本中,影响IAM(身份与访问管理)策略验证逻辑。具体而言,具有受限会话策略(restricted session policies)的服务账户(service accounts)和STS(安全令牌服务)账户,在对其自身账户执行操作时(特别是为同一用户创建新服务账户时),可以绕过其内联策略(inline policy)限制。漏洞的根本原因在于代码在验证受限账户的会话策略时错误地依赖了DenyOnly参数。当存在会话策略时,系统应当验证该操作是否被会话策略允许,而不仅仅是验证其未被拒绝。攻击者利用此漏洞可以创建一个不受策略限制的新服务账户,该新账户将拥有父账户的全部权限而非被内联策略所限制。这使得攻击者能够访问超出其预期限制的桶和对象,并修改、删除或创建其授权范围之外的对象。该漏洞已在RELEASE.2025-10-15T17-29-55Z版本中修复。
该漏洞的核心位于MinIO的IAM策略验证逻辑中。具体技术原理如下:
1. **策略验证逻辑缺陷**:在受限服务账户或STS账户创建新服务账户时,系统需要验证该操作是否符合当前账户的会话策略(session policy)。然而,代码错误地使用了DenyOnly参数进行验证,而非完整的策略评估。DenyOnly仅检查操作是否被显式拒绝,而未检查操作是否被策略明确允许。
2. **权限继承机制**:当受限账户成功创建一个新服务账户时,新账户会继承父账户的全部权限。正常情况下,会话策略应当限制新账户的权限范围,使其与父账户的受限权限保持一致。但由于验证逻辑缺陷,新账户绕过了内联策略限制,获得了完全权限。
3. **利用条件**:攻击者需要拥有有效的受限服务账户或STS账户凭证,这些凭证通常通过内联策略限制了可访问的桶和操作。攻击者使用这些受限凭证调用CreateServiceAccount API,即可创建一个具有完全权限的新服务账户。
4. **影响范围**:利用成功后,攻击者使用新创建的无限制服务账户凭证,可以访问所有桶和对象,执行任意读写操作,甚至删除或创建对象,完全绕过原有的访问控制策略。
修复方案:MinIO在commit c1a49490c78e9c3ebcad86ba0662319138ace190中修复了该漏洞,正确实现了会话策略的完整验证逻辑,确保受限账户创建新服务账户时新账户继承受限权限而非完全权限。