Dorakemon

#10088de 55,077
28.3CVSS total
Vulnerabilidades · 4
Média
2
Alta
1
Crítica
1
PT-2026-24137
8.5
2026-03-09
Pocket Id · Pocket-Id · CVE-2026-28513
**Nome do Software Vulnerável e Versões Afetadas** Versões do Pocket ID anteriores à 2.4.0 **Descrição** O Pocket ID é um provedor OIDC suscetível à troca de código entre clientes e à reutilização de código expirado. O endpoint de token OIDC valida incorretamente os códigos de autorização, rejeitando-os apenas quando tanto o ID do cliente está incorreto quanto o código está expirado. Essa falha permite que um atacante troque códigos de autorização emitidos para um cliente pelas credenciais de outro cliente, potencialmente obtendo tokens para usuários que não autorizaram o cliente malicioso. Códigos de autorização expirados também podem ser reutilizados até que um processo de limpeza seja executado. O problema reside no arquivo `backend/internal/service/oidc service.go`, especificamente na linha 407, onde um `E` lógico (`&&`) deveria ser um `OU` lógico (`||`) na lógica de validação do código de autorização. O código vulnerável é: `if authorizationCodeMetaData.ClientID != input.ClientID && authorizationCodeMetaData.ExpiresAt.ToTime().Before(time.Now())`. Um atacante pode explorar isso usando um código de autorização válido destinado a um cliente com o ID do cliente de outro cliente para obter tokens de acesso. O endpoint da API envolvido é `/api/oidc/token`, utilizando o parâmetro `grant type` definido como `authorization code`, o parâmetro `code` contendo o código de autorização e os parâmetros `client id` e `client secret` para autenticação do cliente. **Recomendações** Versões anteriores à 2.4.0 devem ser atualizadas para a versão 2.4.0 ou posterior.