CVE-2026-13089
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
22/07/2026
Last modified:
27/07/2026
Description
OIDC::Lite versions through 0.12.1 for Perl allow ID Token signature verification bypass via a token-controlled algorithm allowlist in verify.<br />
<br />
When the caller does not pin an algorithm, OIDC::Lite::Model::IDToken::verify sets $self->alg($self->header->{alg}) from the token&#39;s own header and then calls decode_jwt(token, key, 1, [$self->alg]), handing JSON::WebToken an accepted-algorithm allowlist taken from the untrusted token. A token with alg=none yields [&#39;none&#39;], so decode_jwt returns the claims with no signature check, and a token with alg=HS256 is verified with the RP&#39;s RSA public key as the HMAC secret (RS to HS confusion).<br />
<br />
The ID Token is the OpenID Connect authentication assertion delivered to the Relying Party. Any caller that verifies an ID Token through the unpinned load(token)->verify path, or load(token, key) with only the key pinned, accepts a forged token carrying attacker-chosen claims such as sub and is authenticated as any user. Passing an explicit algorithm so $self->alg is already set bypasses the header-derived allowlist and is not affected.<br />
<br />
Note that the latest version uploaded to CPAN is 0.10. Later versions are available in the git repository.
Impact
Base Score 3.x
7.50
Severity 3.x
HIGH



