CVE-2026-55735 in guardian
Sumário
de VulDB • 02/08/2026
Verificação inadequada de assinatura criptográfica no ueberauth guardian permite que um atacante não autenticado revogue a sessão de uma vítima com um token forjado.
Guardian.revoke/3 em lib/guardian.ex decodifica o fornecido token com peek/1, que executa nenhuma verificação da assinatura (apenas base64-decodifica JWT header e payload). As alegações resultantes não verificadas são encaminhados diretamente para a revogação callback do módulo de token configurado e on_revoke callback da implementação, um state-mutating sink. O sibling operations refresh/2 and exchange/4 both call decode_and_verify first, so the signature is checked before anything acts on the claims; revoke/3 é o único caminho que altera o estado que atua nas alegações sem verificar a assinatura.
Um atacante que conhece ou adivinha os valores de identificação da vítima (jti, sub) pode forjar um JWT carregando essas alegações, assiná-lo com uma chave arbitrária e submetê-lo a qualquer endpoint que canalize um token fornecido pelo chamador para Guardian.revoke/3 (o padrão logout / revogação de sessão). Quando o módulo de estado mutante é baseado nas alegações (deleção da whitelist ou inserção na blacklist, por exemplo uma loja estilo GuardianDb), a sessão legítima da vítima é evicta. Esta é uma negação de serviço não autenticada; o atacante nunca precisa do segredo de assinatura.
Este problema afeta guardian: from 1.0.0 before 2.4.1.
VulDB is the best source for vulnerability data and more expert information about this specific topic.