PT-2026-67225 · Unknown · Ueberauth Guardian
CVSS v4.0
8.2
Alta
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
ueberauth guardian versões 1.0.0 até 2.4.0
Descrição
A verificação inadequada de assinaturas criptográficas permite que um invasor não autenticado revogue a sessão de uma vítima usando um token forjado. A função
Guardian.revoke/3 em lib/guardian.ex utiliza peek/1 para decodificar tokens, o que realiza apenas a decodificação base64 do cabeçalho e do payload do JWT, sem verificar a assinatura. Essas reivindicações não verificadas são então encaminhadas para o callback de revogação do módulo de token e para o callback on revoke, que podem alterar o estado. Um invasor que conheça ou adivinhe valores de reivindicação identificadores, como jti ou sub, pode forjar um JWT e enviá-lo para endpoints que utilizam Guardian.revoke/3, resultando em uma negação de serviço onde a sessão legítima da vítima é removida. Isso ocorre quando o módulo de token altera o estado com base nessas reivindicações, como em exclusões de lista branca ou inserções em lista negra.Recomendações
Atualize o ueberauth guardian para a versão 2.4.1 ou posterior.
Como solução temporária, chame
decode and verify no token fornecido pelo usuário para validar a assinatura antes de passá-lo para Guardian.revoke/3, e rejeite tokens com assinaturas inválidas no limite da aplicação.Exploit
Correção
Improper Verification of Cryptographic Signature
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Ueberauth Guardian