平台
java
组件
keycloak
修复版本
1.10.0
2.5.4
Keycloak 中存在一个信息泄露漏洞,源于其 User-Managed Access (UMA) token 端点处理跨域资源共享 (CORS) 头部的方式不当。攻击者可以通过构造恶意的 JSON Web Token (JWT) 来注入 CORS 头部,导致低敏感信息的泄露。此漏洞影响 Keycloak 版本小于等于 26.5.7 的版本。该漏洞已在 2.5.4 版本中修复。
在Keycloak的UMA(User-Managed Access)令牌端点发现了一种跨域资源共享(CORS)头注入漏洞,尤其是在Red Hat Build版本中。攻击者可以通过创建恶意的JSON Web Token(JWT)来利用此漏洞。问题在于,客户端提供的JWT中的azp声明在JWT签名验证之前被用来设置Access-Control-Allow-Origin头。因此,攻击者可以提供一个具有攻击者控制的azp值的JWT,该值即使签名验证后续失败,也会作为CORS源反映。这使得攻击者有可能绕过CORS限制并访问受保护的资源,从而导致数据泄露或未经授权的操作。
攻击者可以通过将专门制作的JWT发送到Keycloak UMA令牌端点来利用此漏洞。JWT将包含攻击者控制的恶意azp声明。由于此漏洞,此azp值将直接反映在Access-Control-Allow-Origin头中。这使得攻击者能够从azp声明中指定的源向受保护的资源发送请求,从而可能绕过预期的安全控制。在CORS头中使用azp声明之前未对其进行预先验证是此漏洞的根本原因。
Organizations utilizing Keycloak for authentication and authorization, particularly those relying on User-Managed Access (UMA) and JWT-based authentication, are at risk. Deployments with relaxed CORS policies or those using older, vulnerable versions of Keycloak are especially susceptible.
• java / server:
# Check Keycloak version
java -jar keycloak.jar --version• java / server:
# Examine Keycloak logs for unusual CORS header settings or JWT validation errors.
grep -i 'cors origin' /path/to/keycloak/logs/keycloak.log• generic web:
# Attempt to trigger the vulnerability by sending a crafted JWT with a malicious azp claim.
curl -H "Authorization: Bearer <crafted_jwt>" <keycloak_uma_endpoint>disclosure
漏洞利用状态
EPSS
0.01% (1% 百分位)
CISA SSVC
此漏洞的主要缓解措施是将Keycloak Red Hat Build升级到版本2.5.4或更高版本。此版本包含一个修复程序,该程序在将azp声明用于配置Access-Control-Allow-Origin头之前对其进行验证,从而防止CORS注入。此外,建议审查和加强Keycloak的CORS策略,以仅将受保护的资源访问限制到受信任的源。定期监控Keycloak日志中与JWT操作相关的可疑模式,以检测和防止潜在攻击至关重要。及时应用补丁对于最大限度地减少利用风险至关重要。
Actualice Keycloak a la versión 2.5.4 o superior para mitigar la vulnerabilidad. La actualización corrige la validación del claim `azp` en el token JWT, previniendo la inyección de encabezados CORS. Asegúrese de revisar la documentación de Red Hat para obtener instrucciones específicas de actualización para su entorno.
漏洞分析和关键警报直接发送到您的邮箱。
CORS(跨域资源共享)是一种机制,用于控制一个源的网页如何访问来自另一个源的资源。
它允许攻击者绕过CORS限制,并可能访问敏感数据或执行未经授权的操作。
实施额外的安全措施,例如加强CORS策略和监控Keycloak日志。
是的,漏洞扫描器可以检测到此问题,但升级到已修复的版本是最佳解决方案。
如果您使用的是Keycloak Red Hat Build的2.5.4之前的版本,则很可能受到影响。
CVSS 向量
上传你的 pom.xml 文件,立即知道是否受影响。