CVE-2026-13089 in OIDC::Lite
Riassunto
di VulDB • 23/07/2026
Le versioni di OIDC::Lite fino alla 0.12.1 per Perl consentono l'elusione della verifica della firma dell'ID Token tramite un allowlist di algoritmi controllata dal token nella funzione verify.
Quando il chiamante non fissa (pin) un algoritmo, `OIDC::Lite::Model::IDToken::verify` imposta `$self->alg($self->header->{alg})` utilizzando l'intestazione del token stesso e successivamente chiama `decode_jwt(token, key, 1, [$self->alg])`, fornendo a JSON::WebToken un allowlist di algoritmi accettati derivata dal token non attendibile. Un token con `alg=none` restituisce `['none']`, quindi `decode_jwt` ritorna i claim senza effettuare alcun controllo della firma; inoltre, un token con `alg=HS256` viene verificato utilizzando la chiave pubblica RSA del Relying Party (RP) come segreto HMAC (confusione RS-to-HS).
L'ID Token è l'affermazione di autenticazione OpenID Connect consegnata al Relying Party. Qualsiasi chiamante che verifica un ID Token attraverso il percorso `load(token)->verify` non fissato, oppure `load(token, key)` con solo la chiave fissata, accetta un token contraffatto contenente claim scelti dall'attaccante (come `sub`) e si autentica come qualsiasi utente. Il passaggio di un algoritmo esplicito in modo che `$self->alg` sia già impostato bypassa l'allowlist derivata dall'intestazione ed è quindi non interessato dalla vulnerabilità.
Si noti che l'ultima versione caricata su CPAN è la 0.10. Le versioni successive sono disponibili nel repository git.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.