CVE-2025-59308Mahara 在 24.04.10 和 25.04.1 之前的版本中存在一个安全漏洞。在多租户站点上,如果机构管理员或机构支持管理员同时拥有 'Site staff' 角色,就可以伪装成非其管理的机构成员。该漏洞破坏了多租户环境下的隔离原则,导致具备特定角色组合的用户能够绕过机构边界限制,获得越权访问能力。
该漏洞的核心在于 Mahara 的访问控制列表(ACL)校验逻辑存在缺陷。在标准的多租户架构中,机构管理员应当被严格限制在特定的机构上下文内。然而,当系统检测到用户拥有 'Site staff' 这一全局角色时,可能错误地放宽了对机构归属的严格检查。攻击者利用这一逻辑漏洞,通过构造特定的 HTTP 请求(如利用伪装功能修改目标用户的 ID 或机构 ID),欺骗后端验证机制。由于系统未能充分验证请求的伪装目标是否属于攻击者当前管理的机构范围,攻击者成功切换会话上下文,从而以目标用户的身份执行操作,窃取数据或进行未授权操作。