PT-2026-46299 · Doorkeeper Gem+4 · Doorkeeper::Openidconnect+1
CVSS v4.0
6.3
Média
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
Doorkeeper versões anteriores a 1.10.0
Descrição
Existe um problema no recurso de Registro Dinâmico de Clientes onde as aplicações são criadas com a variável
confidential definida como false. Embora a resposta do registro forneça um client secret e anuncie suporte aos métodos de autenticação client secret basic e client secret post, o segredo nunca é verificado porque o sistema trata segredos em branco ou ausentes como válidos para clientes não confidenciais. Consequentemente, um invasor que possua apenas o client id pode se autenticar no endpoint de token e obter um token de acesso sem a necessidade de um segredo. Isso afeta apenas projetos que habilitaram explicitamente o Registro Dinâmico de Clientes, pois este recurso é desativado por padrão. A falha está localizada na ação DynamicClientRegistrationController#register e na função Application.by uid and secret().Recomendações
Atualize para a versão 1.10.0.
Como medida paliativa temporária, atualize as aplicações existentes criadas via Registro Dinâmico de Clientes para definir
confidential: true.Exploit
Correção
Improper Authentication
Authentication Bypass by Spoofing
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Doorkeeper::Openidconnect
Ruby-Doorkeeper-Openid-Connect