Impact
OIDC::Lite versions up to 0.12.1 allow a malicious token to bypass signature verification by using the algorithm value from the token header to build an allowlist for JSON::WebToken. A token with alg=none results in a ['none'] allowlist, causing the library to skip signature validation, and a token with alg=HS256 uses the RP’s RSA public key as the HMAC secret, leading to a key type mismatch. When an attacker forges such a token, the relying party accepts it as a valid ID Token and authenticates as the victim, enabling impersonation and credential theft.
Affected Systems
The affected vendor is RITOU. Any installation of the Perl module OIDC::Lite, particularly versions 0.10 through 0.12.1, is vulnerable if the library loads ID Tokens without explicitly pinning the expected algorithm. Later versions in the git repository are not affected, but the CPAN upload as of this advisory remains version 0.10.
Risk and Exploitability
The vulnerability allows an attacker to forge an ID Token by exploiting the flexible algorithm allowlist derived from the token header. Because the expected algorithm is not pinned, a token with alg=none or a mismatched algorithm leads JSON::WebToken to skip signature validation or use the wrong key, respectively. A malicious actor can then supply a crafted token to any system that verifies ID Tokens with OIDC::Lite, resulting in the relying party accepting the forged token as authentic and authenticating as the chosen user. The CVSS score of 7.5 indicates a high‑severity vulnerability, while the EPSS score of < 1% reflects a low probability of exploitation. The CVE is not listed in the CISA KEV catalog, suggesting that it is not currently known to be widely exploited. Nonetheless, any system that allows unpinned ID Token validation is a reachable attack surface from outside the trusted network.
OpenCVE Enrichment