PT-2024-37047 · Unknown · Better Auth
Jamesjulich
·
Publicado
2024-12-30
·
Atualizado
2025-10-20
·
CVE-2024-56734
CVSS v4.0
7.9
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H |
Nome do software vulnerável e versões afetadas
Versões do Better Auth anteriores à v1.1.6
Descrição
Foi identificada uma vulnerabilidade de redirecionamento aberto no endpoint de verificação de e-mail do Better Auth, permitindo potencialmente que invasores redirecionem usuários para sites maliciosos. Esse problema afeta usuários que utilizam links de verificação de e-mail gerados pela biblioteca. O endpoint de callback de verificação de e-mail aceita um parâmetro
callbackURL. Ao contrário de outros métodos de verificação, a verificação por e-mail usa apenas JWT para verificar e redirecionar, sem uma validação adequada do domínio de destino. O verificador de origem é contornado nesse cenário, pois ele verifica apenas solicitações POST. Um invasor pode manipular esse parâmetro para redirecionar usuários para URLs arbitrárias controladas por ele.Recomendações
Para versões anteriores à v1.1.6, atualize para o Better Auth v1.1.6 ou posterior, que impõe a validação de domínio para
callbackURL no caminho /verify-email e em todos os outros endpoints GET. Como solução alternativa temporária, considere usar hooks para verificar previamente as URLs em sua instância de autenticação a fim de evitar isso sem precisar atualizar. Por exemplo:ts
const auth = betterAuth({
hooks: {
before: (ctx) => {
if (ctx.path === “/verify-email”) {
const callbackURL = ctx.query.callbackURL; // Verifique se esta é uma URL de callback confiável ou não
}
}
}
})
Exploit
Correção
Open Redirect
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Better Auth