CVE-2026-13089 in OIDC::Lite
Résumé
par VulDB • 23/07/2026
Les versions d’OIDC::Lite jusqu’à la 0.12.1 pour Perl permettent de contourner la vérification de signature du jeton ID (ID Token) via une liste blanche d’algorithmes contrôlée par le jeton dans la fonction verify.
Lorsque l’appelant ne fixe pas explicitement un algorithme, OIDC::Lite::Model::IDToken::verify définit $self->alg($self->header->{alg}) à partir de l’en-tête propre au jeton, puis appelle decode_jwt(token, key, 1, [$self->alg]), transmettant ainsi à JSON::WebToken une liste blanche d’algorithmes acceptés extraite du jeton non fiable. Un jeton avec alg=none produit ['none'], ce qui fait que decode_jwt renvoie les revendications (claims) sans aucune vérification de signature ; un jeton avec alg=HS256 est ensuite vérifié en utilisant la clé publique RSA du Relying Party (RP) comme secret HMAC (confusion RS vers HS).
Le ID Token est l’assertion d’authentification OpenID Connect délivrée au Relying Party. Tout appelant qui vérifie un ID Token via le chemin load(token)->verify non fixé, ou load(token, key) avec uniquement la clé fixée, accepte un jeton falsifié contenant des revendications choisies par l’attaquant telles que sub et s’authentifie en tant qu’utilisateur arbitraire. Le passage d’un algorithme explicite afin que $self->alg soit déjà défini contourne la liste blanche dérivée de l’en-tête et n’est pas affecté par cette vulnérabilité.
Notez que la dernière version publiée sur CPAN est la 0.10. Les versions ultérieures sont disponibles dans le dépôt git.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.