PT-2025-7217 · Duende · Duende.Accesstokenmanagement
Michael Dimoudis
·
Publicado
2025-02-18
·
Atualizado
2025-02-19
·
CVE-2025-26620
CVSS v4.0
6.3
Média
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N |
Nome do Software Vulnerável e Versões Afetadas:
Duende.AccessTokenManagement (versões afetadas não especificadas)
Descrição:
O Duende.AccessTokenManagement contém uma condição de corrida ao solicitar tokens de acesso usando o fluxo de credenciais do cliente. Solicitações simultâneas para obter um token de acesso usando parâmetros de protocolo diferentes podem retornar tokens de acesso obtidos com o escopo, indicador de recurso ou outros parâmetros de protocolo incorretos. Este problema é um tanto atípico e apenas uma pequena porcentagem de usuários provavelmente será afetada. O impacto deste problema depende de como o Duende.AccessTokenManagement é utilizado e da arquitetura de segurança da solução. A maioria dos usuários não estará vulnerável a este problema, mas usuários mais avançados podem encontrar este problema ao chamar métodos específicos com parâmetros de solicitação de token personalizados, como
HttpContext.GetClientAccessTokenAsync() e IClientCredentialsTokenManagementService.GetAccessTokenAsync(). O impacto de obter um token de acesso com parâmetros de protocolo diferentes dos pretendidos variará dependendo da lógica da aplicação, da arquitetura de segurança e da política de autorização dos servidores de recurso.Recomendações:
Para resolver o problema, a maioria dos usuários pode simplesmente atualizar o pacote NuGet para a versão mais recente.
Para personalizações do
IClientCredentialsTokenCache que derivam da implementação padrão (DistributedClientCredentialsTokenCache), é necessária uma pequena alteração no código, pois seu construtor foi alterado para adicionar uma dependência ao serviço ITokenRequestSynchronization. O serviço de sincronização precisará ser injetado na classe derivada e passado para o construtor da classe base.
Como solução temporária, considere desativar as funções GetClientAccessTokenAsync() e GetAccessTokenAsync() até que uma correção esteja disponível.
Restrinja o acesso ao objeto TokenRequestParameters para minimizar o risco de exploração.Exploit
Correção
Time Of Check To Time Of Use
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Duende.Accesstokenmanagement