PT-2024-37047 · Unknown · Better Auth

Jamesjulich

·

Publicado

2024-12-30

·

Atualizado

2025-10-20

·

CVE-2024-56734

CVSS v4.0

7.9

Alta

VetorAV: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

CVE-2024-56734
GHSA-8JHW-6PJJ-8723

Produtos afetados

Better Auth