CVE-2025-10939CVE-2025-10939是Keycloak中的一个访问控制绕过漏洞。该漏洞由于Keycloak在代理环境下的路径处理不当导致。官方文档建议在使用反向代理时不应将/admin路径暴露给外部,但通过ha-proxy等代理时,攻击者可以利用相对路径或非规范化的路径来访问本应被保护的/admin应用路径。攻击者通过构造特殊的URL路径,利用代理与Keycloak之间的路径解析差异,绕过访问控制限制访问管理接口。由于Keycloak的/admin路径通常包含敏感的管理功能,成功的利用可能导致未授权访问管理界面,获取敏感信息或执行管理操作。该漏洞的CVSS评分为3.7,属于低危漏洞,主要影响机密性。
该漏洞的根本原因在于Keycloak部署在反向代理(如ha-proxy)后方时,代理层的路径处理与Keycloak应用层的路径解析存在差异。正常情况下,管理员会配置代理规则阻止外部用户直接访问/admin路径,只暴露/realms等公共路径。然而,攻击者可以通过以下方式绕过这一限制:1) 使用相对路径如/realms/../admin绕过代理的路径检查;2) 利用URL编码或双URL编码混淆路径;3) 使用路径规范化差异。由于代理在检查路径时可能未正确处理这些特殊路径格式,而Keycloak在处理请求时会解析这些路径,导致攻击者可以访问本应被保护的/admin路径。攻击者成功利用后可以访问Keycloak的管理控制台,可能获取用户信息、会话数据或执行管理操作。修复方案包括:在代理层强制路径规范化、严格配置访问控制规则、以及在应用层增加路径验证逻辑。