PT-2026-56301 · Npm · Better Auth+1
CVE-2026-53517
·
Publicado
2026-07-07
·
Atualizado
2026-07-21
CVSS v3.1
8.1
Alta
| Vetor | AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Nome do Software Vulnerável e Versões Afetadas
@better-auth/oauth-provider versões 1.6.0 até 1.6.10
better-auth versões 1.4.8-beta.7 até 1.5.x
Description
O endpoint POST
/oauth2/token do @better-auth/oauth-provider está suscetível a uma condição de corrida durante o processo de concessão de refresh token. O sistema executa uma sequência não atômica de leitura, validação, revogação e emissão da linha oauthRefreshToken. Isso permite que solicitações simultâneas usando o mesmo token de atualização pai ignorem a verificação de revogação, resultando na criação de famílias de tokens de atualização bifurcadas. Este problema pode levar ao acesso não autorizado indefinido se um token de atualização for roubado, pois o invasor pode manter um ramo de token válido que sobrevive a revogações individuais. A falha ocorre porque o predicado de atualização é baseado apenas no ID e não verifica se o token já foi revogado, e o esquema do banco de dados carece de uma restrição de unicidade no campo do token.Recommendations
Atualize o @better-auth/oauth-provider para a versão 1.6.11 ou posterior.
Atualize o better-auth para a versão 1.6.0 ou posterior.
Como mitigação temporária, não solicite o escopo
offline access para evitar a emissão de tokens de atualização.
Como mitigação temporária, defina refreshTokenExpiresIn para um valor muito baixo (ex: 60 segundos) para limitar a persistência de famílias de tokens bifurcadas.
Como mitigação temporária, configure o adaptador de banco de dados para executar o manipulador de atualização OAuth sob isolamento serializável ou use um bloqueio pessimista ao nível de linha (SELECT ... FOR UPDATE) na tabela oauthRefreshToken.
Adicione manualmente uma restrição de unicidade à coluna oauthRefreshToken.token no banco de dados para fornecer defesa em profundidade.Exploit
Correção
Race Condition
Insufficient Session Expiration
Time Of Check To Time Of Use
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
@Better-Auth/Oauth-Provider
Better Auth