CVE-2026-22043RustFS是一个使用Rust编程语言构建的分布式对象存储系统,广泛应用于云原生环境和企业级数据存储场景。该系统在1.0.0-alpha.13至1.0.0-alpha.78版本中存在严重的安全漏洞,源于IAM(身份和访问管理)模块中的deny_only检查逻辑存在缺陷。这个安全漏洞允许拥有受限权限的服务账户或通过STS(安全令牌服务)获取的临时凭证,自行颁发具有完整权限的无限制服务账户凭证。攻击者可以利用这一漏洞绕过会话策略和内联策略的限制,成功实现权限提升攻击。由于该漏洞无需任何用户交互且无需认证即可利用,加上其对机密性、完整性和可用性均造成高影响,使其成为极其危险的安全威胁。建议受影响的用户尽快升级到1.0.0-alpha.79或更高版本以修复此问题。
该漏洞的核心问题在于RustFS的IAM访问控制模块中deny_only短路逻辑的实现缺陷。在正常的访问控制流程中,系统应当先检查是否存在deny规则,只有在确认没有deny规则的情况下才允许访问。然而,存在缺陷的deny_only检查会在特定条件下提前返回允许访问,从而跳过了对权限范围的完整验证。具体来说,当一个受限服务账户使用STS凭证尝试自颁发新凭证时,系统错误地允许了这种权限扩展操作。受限账户本应只能执行其被授权的操作,但由于deny_only逻辑的短路漏洞,系统未能正确限制其权限提升行为。这导致新颁发的服务账户凭证继承了父账户的全部权限,包括那些本应被限制的高危权限。攻击者可以通过构造特定的API调用序列,绕过会话策略中定义的权限边界,获取对整个RustFS系统的完全控制权。此漏洞的技术根源在于权限继承机制缺乏足够的边界检查和权限范围验证。