MinIO is Vulnerable to Privilege Escalation via Session Policy Bypass in Service Accounts and STS
Date: 2025-10
Affected: go/github.com/minio/minio
Attack vector: auth-bypass
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2025-62506
CWE: CWE-863
CVSS: 8.1 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N)

### Summary A privilege escalation vulnerability allows service accounts and STS (Security Token Service) accounts with restricted session policies to bypass their inline policy restrictions when performing "own" account operations, specifically when creating new service accounts for the same user. ### Details The vulnerability exists in the IAM policy validation logic in `cmd/iam.go`. When validating session policies for restricted accounts performing operations on their own account (such as creating service accounts), the code incorrectly relied on the `DenyOnly` argument. The `DenyOnly` flag is used to allow accounts to perform actions related to their own account by only checking if the action is explicitly denied. However, when a session policy (sub-policy) is present, the system should validate that the action is actually **allowed** by the session policy, not just that it isn't denied. ### Attack Scenario 1. An administrator creates a service account or STS account with a restricted inline policy (e.g., access only to bucket1 and bucket2) 2. The restricted account attempts to create a new service account for itself without specifying any policy restrictions 3. Due to the bypass, the new service account is created with full parent privileges instead of being restricted by the inline policy 4. The attacker now has escalated privileges beyond the intended restrictions ### Impact **Attack Complexity**: LOW - Exploitation requires only valid credentials for a


Mitigations:

Architectural layers (MAESTRO):