关键信息总结 漏洞概述 漏洞名称:RustFS IAM Short-Circuit 让特权限提升通过服务账户伪造 漏洞ID:GHSA-xgr5-qc6w-vcg9 发布日期:两周前 漏洞状态:已补丁 影响版本:alpha.13 - alpha.78 补丁版本:alpha.79 严重性:中等 描述 摘要 RustFS IAM 中的 短路缺陷允许受限制的服务账户或 STS 凭据自行创建未受限制的服务账户并继承父账户的完整特权。这导致了特权限提升和绕过会话/内联策略限制。 具体细节 问题及原因: -当 为 且无明确拒绝项时, 返回 ,跳过所有允许检查。 - 创建服务账户的路径在目标用户等于调用者或其父时将 设置为 。 - 服务账户默认创建时无 ,因此缺乏 ,与 结合允许无需允许声明的自操作。 - 最终,受限制的服务账户/STS 可以创建新的无策略的服务账户并获得父账户的完整权利,甚至 root 权限,绕过原始限制。 漏洞关键代码位置参考 :包含了 短路的逻辑。 :设置 用于目标用户。 :服务账户创建默认,无 。 演示漏洞 生成受限制服务账户:带有简单允许策略。 创建子服务账户:无策略(触发 短路)。 子服务账户特权:此子账户( )成功列出了、读取并写入了受限制策略范围以外的 S3 桶中对象(例如读写 )。 演示步骤 1. 清除旧服务账户和桶。 2. 创建桶1、桶2并为桶3播种文件。 3. 为桶1和桶2创建限制策略。 4. 创建受限制的服务账户。 5. 创建子服务账户;此账户不应拥有访问桶3的权利。 6. 使用子账户访问桶3并写入内容:如果成功,表明漏洞存在。 影响评估 允许绕过限制并执行特权操作(S3、管理服务、密钥管理等),对信息保密性和完整性构成高风险。