Plataforma
java
Componente
keycloak
Corrigido em
1.10.0
2.5.4
Uma vulnerabilidade de Information Disclosure foi descoberta no Keycloak, especificamente no endpoint de token de Acesso Gerenciado pelo Usuário (UMA). Um atacante remoto pode explorar uma injeção de cabeçalho Cross-Origin Resource Sharing (CORS) ao manipular o valor azp em um JSON Web Token (JWT). Essa manipulação permite que um valor controlado pelo atacante seja refletido como a origem CORS, mesmo que a concessão seja posteriormente rejeitada, resultando na exposição de informações de baixa sensibilidade. As versões afetadas são 1.0.0 até 2.5.3, sendo que uma correção foi disponibilizada na versão 2.5.4.
Uma vulnerabilidade de injeção de cabeçalho CORS (Cross-Origin Resource Sharing) foi identificada no endpoint de tokens UMA (User-Managed Access) do Keycloak, especificamente na versão Red Hat Build. Um atacante remoto pode explorar essa falha criando um token JWT (JSON Web Token) malicioso. O problema reside no fato de que o claim azp de um JWT fornecido pelo cliente é usado para definir o cabeçalho Access-Control-Allow-Origin antes da validação da assinatura do JWT. Consequentemente, um atacante pode fornecer um JWT com um valor azp criado, que será refletido como a origem CORS, mesmo que a validação da assinatura falhe posteriormente. Isso pode permitir que o atacante contorne as restrições CORS e acesse recursos protegidos, levando a violações de dados ou ações não autorizadas.
Um atacante pode explorar esta vulnerabilidade enviando um JWT especialmente criado para o endpoint de token UMA do Keycloak. O JWT conteria um claim azp malicioso controlado pelo atacante. Devido à vulnerabilidade, este valor azp é diretamente refletido no cabeçalho Access-Control-Allow-Origin. Isso permite que o atacante faça solicitações a recursos protegidos a partir da origem especificada no claim azp, contornando potencialmente os controles de segurança pretendidos. A falta de pré-validação do claim azp antes de seu uso no cabeçalho CORS é a causa raiz desta vulnerabilidade.
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
Status do Exploit
EPSS
0.01% (percentil 1%)
CISA SSVC
Vetor CVSS
A principal mitigação para esta vulnerabilidade é atualizar para a versão 2.5.4 ou superior do Keycloak Red Hat Build. Esta versão inclui uma correção que valida o claim azp antes de usá-lo para configurar o cabeçalho Access-Control-Allow-Origin, prevenindo a injeção de CORS. Além disso, revise e fortaleça as políticas de CORS do Keycloak para restringir o acesso a recursos protegidos apenas a origens confiáveis. Monitore regularmente os logs do Keycloak em busca de padrões suspeitos relacionados à manipulação de JWTs para detectar e prevenir possíveis ataques. A aplicação imediata da atualização é crucial para minimizar o risco de exploração.
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.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CORS (Cross-Origin Resource Sharing) é um mecanismo que controla como as páginas web de uma origem podem acessar recursos de uma origem diferente.
Permite que um atacante contorne as restrições CORS e, potencialmente, acesse dados confidenciais ou execute ações não autorizadas.
Implemente medidas de segurança adicionais, como fortalecer as políticas de CORS e monitorar os logs do Keycloak.
Sim, scanners de vulnerabilidade podem detectar este problema, mas a correção para a versão corrigida é a melhor solução.
Se você estiver usando uma versão do Keycloak Red Hat Build anterior à 2.5.4, provavelmente estará afetado.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo pom.xml e descubra na hora se você está afetado.