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 account,可以借助“操作自己的账号”例外创建一个没有相同限制的新 service account。新账号继承更宽的父级权限,于是合法的低权限 credential 变成了一条权限提升路径。
Silo 不需要另做 backport:上游修复与两组回归测试已经存在于社区分支发布所继承的历史中。本注记只补齐继承关系,不重复添加测试,也不重写上游 advisory 与 PR 已经记录的调查过程。
Commit 映射
| 角色 | 仓库 | Commit | 证据 |
|---|---|---|---|
| 上游修复 | minio/minio |
c1a49490 |
PR #21642 的 merge commit |
| Silo 继承 | pgsty/silo |
c1a49490 |
fork 保留了同一个 commit object 与 SHA;首个 Silo 社区版本是它的后代 |
相同 SHA 本身就是映射证据:这是一段直接继承的源码历史,不是 Silo 独立实现出的相似补丁。仓库中的 canonical advisory ledger 保留同一组 source-to-fork 记录。
回归证据
PR #21642 加入了两组回归测试,每组都执行 root 与 non-root parent 两种场景:
TestServiceAccountPrivilegeEscalationBug2_2025_10_15覆盖受限 service account。TestSTSPrivilegeEscalationBug2_2025_10_15覆盖受限 STS account。
两者都仍接在标准 cmd test suite 入口中,因此 go test ./cmd 会执行它们。本次发布卫生更新没有新增平行或替代性的回归测试。
修复与运维边界
只要 session policy 存在,修复就会先清除 DenyOnly shortcut,再评估该 policy。这样,“操作自己账号”的例外不再把“没有被显式拒绝”误当作授权;受限 policy 必须真正允许这一动作。
所有 Silo 社区版本都包含该提交。从早于上游修复版本的 MinIO build 迁移时,应先升级,再检查由受限 service / STS identity 创建的 service account,并撤销可疑的子账号。这项继承声明不延长历史 Silo 版本的支持期;受支持的仍是当前 release line。