CVE-2026-32697SuiteCRM 是一个开源的企业级客户关系管理软件。在 8.9.3 之前的版本中,`RecordHandler::getRecord()` 方法存在安全缺陷。该方法在通过模块和 ID 获取记录时,未能检查当前用户的 ACL 查看权限。虽然相关的 `saveRecord()` 方法正确执行了 `$bean->ACLAccess('save')` 检查,但 `getRecord()` 跳过了关键的 `ACLAccess('view')` 验证步骤。此漏洞可能导致低权限用户获取敏感数据,造成信息泄露。目前版本 8.9.3 已修复该问题。
该漏洞源于 SuiteCRM 后端代码逻辑中的权限校验不一致。在 `RecordHandler` 类中,`saveRecord()` 方法在执行保存操作前会调用 `$bean->ACLAccess('save')` 来验证用户是否有权修改该数据。然而,与其对应的 `getRecord()` 方法,用于检索记录详情,却遗漏了 `$bean->ACLAccess('view')` 的验证步骤。攻击者利用此漏洞时,仅需拥有低权限账户(PR:L),即可通过网络向服务器发送针对特定模块和记录 ID 的 API 请求。由于系统未在获取数据时进行 ACL 拦截,攻击者可以通过遍历 ID 或猜测 ID 来读取本应无权查看的敏感业务数据(如客户信息、交易记录等),从而导致高机密性影响(C:H)。这是一个典型的越权访问漏洞,利用过程无需用户交互,危害程度取决于数据的敏感度。