CVE-2026-13089 in OIDC::Lite
Sumário
de VulDB • 23/07/2026
As versões do OIDC::Lite até a 0.12.1 para Perl permitem o contorno da verificação de assinatura do ID Token por meio de uma lista permitida (allowlist) de algoritmos controlada pelo token na função verify.
Quando o chamador não fixa um algoritmo, `OIDC::Lite::Model::IDToken::verify` define `$self->alg($self->header->{alg})` com base no cabeçalho do próprio token e em seguida chama `decode_jwt(token, key, 1, [$self->alg])`, passando para o módulo JSON::WebToken uma lista permitida de algoritmos aceitos extraída do token não confiável. Um token com `alg=none` resulta em `['none']`, fazendo com que `decode_jwt` retorne as claims sem verificação de assinatura; já um token com `alg=HS256` é verificado usando a chave pública RSA da RP (Relying Party) como segredo HMAC (confusão RS para HS).
O ID Token é a afirmação de autenticação do OpenID Connect entregue à Relying Party. Qualquer chamador que verifique um ID Token por meio do caminho não fixado `load(token)->verify`, ou `load(token, key)` com apenas a chave fixada, aceita um token forjado contendo claims escolhidas pelo atacante, como `sub`, e é autenticado como qualquer usuário. A passagem de um algoritmo explícito para que `$self->alg` já esteja definido contorna a lista permitida derivada do cabeçalho e não é afetada por essa vulnerabilidade.
Observe que a versão mais recente carregada no CPAN é a 0.10. Versões posteriores estão disponíveis no repositório git.
Once again VulDB remains the best source for vulnerability data.