CVE-2025-62506:Session Policy 权限提升
状态: 已继承并发布
首个 SILO 社区版本: RELEASE.2025-12-03T12-00-00Z
上游首个修复版本: RELEASE.2025-10-15T17-29-55Z
GitHub Advisory: GHSA-jjjj-jwhf-8rgr
上游修复: minio/minio#21642
带有受限内联会话策略(Session Policy)的服务账号(Service Account)或 STS 临时凭据,原本可以借助“操作自身账号”的管理 API 例外创建一个不带相同限制的新服务账号。由于自身账号操作将策略评估标志设为 DenyOnly = true,只要 Session Policy 中没有显式 Deny 规则,权限检查就会放行,使新建的子服务账号直接继承更宽泛的父账号权限。
SILO 无需单独回移补丁:在切出首个社区版本(RELEASE.2025-12-03T12-00-00Z)的源码历史中,上游修复提交及其两组回归测试均已在列。
Commit 映射
| 角色 | 仓库 | Commit | 证据 |
|---|---|---|---|
| 上游修复 | minio/minio |
c1a49490 |
minio/minio#21642 的合并提交 |
| SILO 继承 | pgsty/silo |
c1a49490 |
保留完全一致的 Git commit 对象与 SHA;RELEASE.2025-12-03T12-00-00Z 及后续所有 SILO 版本均为其后代 |
相同的提交 SHA 直接证明了源码历史的继承关系。安全公告台账保留了同一组提交映射。
回归证据
上游 PR #21642 新增了两组回归测试,每组均覆盖 root 与非 root 父账号场景:
TestServiceAccountPrivilegeEscalationBug2_2025_10_15(cmd/admin-handlers-users_test.go):验证受限服务账号无法通过创建未受限子服务账号实现提权。TestSTSPrivilegeEscalationBug2_2025_10_15(cmd/sts-handlers_test.go):验证受限 STS 临时凭据的同一边界。
两组测试均接在标准 cmd 测试套件中,执行 go test ./cmd 时会自动运行。
修复与运维边界
只要认证凭据附带了 Session Policy(子策略),策略评估器在评估该子策略前会先清除 DenyOnly 标志。这样,“操作自身账号”的例外不再将“未被显式拒绝”视同授权,受限 Session Policy 必须显式包含目标动作的 Allow 规则。
所有 SILO 正式版本均已包含 c1a49490。若从早于 RELEASE.2025-10-15T17-29-55Z 的上游 MinIO 构建迁移,应先升级至 SILO,随后审查升级前由受限服务账号或 STS 身份创建的子服务账号,并撤销可疑账号。
关联公告:CVE-2026-32285
部分外部漏洞源后续发布的 CVE-2026-32285 将文字描述写为 github.com/buger/jsonparser 漏洞,但引用的修复提交同样是 c1a49490。关于该编号的依赖版本核查与可达性研判过程,见 CVE-2026-32285:最终无需补丁的 jsonparser 通告。