nocodb: Correção de condição de corrida no fluxo OAuth com PKCE
Corrigida uma condição de corrida na troca de tokens OAuth onde duas requisições concorrentes usando o mesmo código de autorização podiam gerar pares (access_token, refresh_token) distintos e válidos, quebrando a garantia de uso único que o PKCE exige.
O que mudou
Corrigida uma condição de corrida na troca de tokens OAuth onde duas requisições concorrentes usando o mesmo código de autorização podiam gerar pares (access_token, refresh_token) distintos e válidos, quebrando a garantia de uso único que o PKCE exige. A correção introduz uma operação atômica compare-and-swap em OAuthAuthorizationCode.claimByCode que marca o código como usado imediatamente antes da inserção do token, de modo que apenas o primeiro chamador concorrente tenha sucesso.
Quem isso afeta
Aplicações que usam o fluxo OAuth do NocoDB com PKCE, especialmente aquelas onde um atacante pode observar um código de autorização e o verifier PKCE (por exemplo, via um cliente OAuth malicioso ou competindo com uma troca real).
O que fazer hoje
Atualize o NocoDB para a versão mais recente que inclui esta correção para evitar roubo potencial de tokens.