Radar Tech: CVE crítico no fluxo de reset de credenciais do Keycloak liga o alerta para fluxos de identidade
Um CVE crítico (CVSS 9.1) no fluxo reset-credentials do Keycloak permite takeover de contas sem autenticação. Entenda o cenário, o que isso ensina sobre arquitetura de identidade e como um ADR de mitigação em camadas protege sua stack OIDC.
Os últimos dias deram um motivo concreto para revisitar o desenho de fluxos de autenticação: o CVE-2026-18963, divulgado no componente keycloak-services do Keycloak (Red Hat Build). A falha, avaliada como crítica com escore CVSS 9.1, permite que um atacante remoto e não autenticado force o processo de redefinição de senha de qualquer usuário — sem precisar clicar no link de verificação por e-mail. Na prática, isso é account takeover (ATO) em escala: alterar credenciais de terceiros e assumir o controle de contas.
Por que isso é um problema de arquitetura, não só de patch
É tentador tratar um CVE como tarefa de upgrade de versão. Mas o CVE-2026-18963 é instrutivo justamente porque a falha mora na lógica do fluxo: a etapa de comprovação de posse do canal (o clique no link / token de verificação) deixou de ser um pré-requisito para definir a nova senha. Isso não se resolve apenas atualizando o pacote — exige reavaliar a estrutura do fluxo de redefinição de credenciais e as decisões de arquitetura que permitiram que uma etapa crítica ficasse "pulável".
Quando um fluxo de recuperação de conta não amarra, de forma criptograficamente comprovável, o pedido de reset ao portador do canal de verificação, qualquer vazamento de configuração ou regressão abre caminho para abuso. É um clássico de defense-in-depth: nenhuma camada sozinha deveria ser o único escudo.
O que uma mitigação em camadas considera
- Integridade do fluxo: token de uso único, de curta validade, armazenado por hash (nunca em claro) e vinculado ao pedido iniciado — a troca de senha só é aceita se esse token foi consumido.
- Impossibilidade de bypass: endpoints de confirmação validam token + state + expiração (respondendo 400/401/409 a chamadas diretas sem token válido), com proteção anti-CSRF.
- Detecção e limitação: rate-limit por conta, IP e identidade, bloqueio temporário após tentativas e alertas em eventos de reset (bloqueando também a enumeração de contas).
- Recuperação e auditoria: revogação de sessões ativas e refresh tokens após o reset, exigência de MFA quando aplicável e trilha de auditoria imutável com alerta.
Para stacks OIDC, somam-se exigências como PKCE e state no navegador — efeito da mesma família de vulnerabilidades.
Por que cobrir isso com um ADR
Um registro de decisão de arquitetura (ADR) obriga o time a registrar o contexto, o problema, as alternativas com trade-offs e as consequências antes de mexer num fluxo crítico de identidade. Depois de um alerta de CVE como este, é o artefato certo para transformar urgência em decisão defensável, revisável e auditável.
Preparamos um pacote de prompts de 5 arquivos que leva um agente de IA a gerar esse ADR completo — com schema obrigatório de saída, guardrails de segurança, exemplos few-shot (incluindo o caso difícil da janela de reenvio de e-mail versus expiração do token) e um harness de verificação com critérios de aceite objetivos. Ele está disponível no marketplace na categoria Segurança, e os diagramas no material mostram o fluxo vulnerável lado a lado com a arquitetura alvo.
Resumo do dia
Se a sua stack usa Keycloak, OpenShift/Red Hat Build ou qualquer IdP com fluxo de reset de senha, o CVE-2026-18963 é um lembrete oportuno: verifique as versões afetadas, confirme que a verificação de posse é obrigatória no seu fluxo e trate a vulnerabilidade como uma decisão de arquitetura — não como um tick de upgrade. O custo de um account takeover em escala costuma ser bem maior do que o de um ADR bem escrito.