CVE-2026-37978Keycloak存在一个安全缺陷,拥有'view-clients'角色的低权限管理员可以通过调用'evaluate-scopes'管理API端点并传入任意用户ID(userId)参数来利用此漏洞。该漏洞允许跨角色的个人身份信息(PII)泄露,使得攻击者能够未经授权地查看领域内的用户身份和授权信息。利用此漏洞需要网络访问管理API,且攻击者必须拥有管理员账户,但权限要求较低。
该漏洞源于Keycloak管理API中的访问控制逻辑缺陷。具体而言,当管理员调用用于评估客户端范围的`evaluate-scopes`接口时,系统未严格校验请求参数中的`userId`是否属于当前管理员有权管理的范围。攻击者只需具备基础的'view-clients'权限,即可通过构造特定的HTTP请求,将`userId`参数替换为目标受害者的ID。由于API在处理时直接接受了该参数并返回了与该用户相关的详细授权范围和身份信息,这导致了权限旁路。攻击者可以利用此机制遍历系统中的所有用户ID,从而获取跨角色的敏感数据,破坏了系统内部的隔离原则。尽管攻击需要管理员身份,但由于权限门槛较低,使得内部威胁或低权限管理员账号泄露后的风险显著增加。