PT-2026-29659 · Tinyauth · Tinyauth
Kq5Y
·
Publicado
2026-04-01
·
Atualizado
2026-04-02
·
CVE-2026-33544
CVSS v3.1
7.7
Alta
| Vetor | AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N |
Nome do Software Vulnerável e Versões Afetadas
Tinyauth versões anteriores a 5.0.5
Descrição
Tinyauth é um servidor de autenticação e autorização. As implementações GenericOAuthService, GithubOAuthService e GoogleOAuthService armazenam verificadores PKCE e tokens de acesso como campos de estrutura mutáveis em instâncias singleton compartilhadas entre solicitações concorrentes. Uma condição de corrida entre
VerifyCode() e Userinfo() permite que um usuário receba uma sessão com a identidade de outro usuário quando dois usuários iniciam o login OAuth para o mesmo provedor simultaneamente. A função OAuthBrokerService.GetService() retorna uma única instância compartilhada por provedor para cada solicitação. O fluxo OAuth armazena o estado intermediário como campos de estrutura neste singleton. Especificamente, os campos token e verifier são campos mutáveis compartilhados. No manipulador de retorno de chamada, a função VerifyCode() armazena o token no singleton e uma chamada subsequente para GetUser() lê o token do singleton. Entre essas chamadas, a função VerifyCode() de uma solicitação concorrente pode sobrescrever o campo token, fazendo com que GetUser() e Userinfo() recuperem as declarações de identidade do usuário incorreto. Essa questão também causa uma negação de serviço devido a sobrescritas de verificadores PKCE, levando a falhas nos logins OAuth.Recomendações
Atualize o Tinyauth para a versão 5.0.5 ou posterior.
Correção
Race Condition
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Tinyauth