PT-2020-11962 · Doorkeeper · Doorkeeper

Stefansundin

·

Publicado

2020-05-04

·

Atualizado

2021-07-21

·

CVE-2020-10187

CVSS v3.1

7.5

Alta

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Nome do software vulnerável e versões afetadas
Versões do Doorkeeper 5.0.0 a 5.0.2
Versões do Doorkeeper 5.1.0 a 5.1.0
Versões do Doorkeeper 5.2.0 a 5.2.4
Versões do Doorkeeper 5.3.0 a 5.3.1
Descrição
A vulnerabilidade permite que um invasor obtenha o segredo do cliente destinado exclusivamente ao proprietário do aplicativo OAuth. Após autorizar o aplicativo e permitir o acesso, o invasor pode solicitar a lista de seus aplicativos autorizados no formato JSON, geralmente por meio do endpoint “GET /oauth/authorized applications.json”. Isso é possível se o controlador de aplicativos autorizados estiver habilitado, permitindo que o invasor visualize todos os valores dos atributos do modelo Doorkeeper::Application, incluindo segredos.
Recomendações
Para as versões 5.0.0 a 5.0.2 do Doorkeeper, atualize para a versão 5.0.3 ou posterior.
Para as versões 5.1.0 a 5.1.0 do Doorkeeper, atualize para a versão 5.1.1 ou posterior.
Para as versões 5.2.0 a 5.2.4 do Doorkeeper, atualize para a versão 5.2.5 ou posterior.
Para as versões 5.3.0 a 5.3.1 do Doorkeeper, atualize para a versão 5.3.2 ou posterior.
Como solução temporária, considere aplicar um patch no método #as json(options = {}) do modelo Doorkeeper::Application para definir apenas os atributos que você deseja expor.
Habilite o hash de segredos de aplicativos, disponível desde o Doorkeeper 5.1, para tornar o segredo exposto inutilizável.

Exploit

Correção

Missing Authorization

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-10187
GHSA-J7VX-8MQJ-CQP9

Produtos afetados

Doorkeeper