Unknown · Better Auth · CVE-2024-56734
**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
}
}
}
})
```