Start with Identity
Protocol · 16 briefs · 1 on CISA KEV

OAuth, OIDC, and JWT identity CVEs

Tokens that are not verified, audiences that are not pinned, and skip-lists that match a query string. OAuth and OIDC fail when the RP trusts the shape of a JWT more than the signature.

How this protocol fails

OIDC is the default for new apps, which means a JWT verifier bug is an MFA bypass with a modern logo. 2023-2026 repeats three mistakes: alg:none or a skipped signature (SharePoint, SimpleHelp, WordPress OAuth SSO, node-jws), audience or key-lookup confusion (private_key_jwt spec CVEs, Zitadel expired keys), and alternate-path skips (OAuth2-Proxy, Drupal). A valid-looking token is not a valid login. Session mix-ups in SDKs (Duende, Okta Java) are the same class under load.

What security people should do

  • Reject alg:none. Resolve the key from a server-side JWKS map, then verify. Never let the token pick the HMAC secret.
  • Pin aud to one exact authorization-server identifier. Separate client keys per environment and tenant.
  • Match skip-auth and callback allow-lists on path only, never on the full URI with query string.
  • Load-test identity SDKs so user A never receives user B's token. Prefer DPoP or mTLS so a mixed token is useless on the wrong client.
  • Read the validate-a-JWT recipe before you ship another verifier.

CVEs in this category

16
OAuth / OIDC / JWT
1
On CISA KEV
1
Actively exploited
16
Showing
Severity
Year
Status

Showing 16 of 16

Working this protocol in production and see a brief we should add or correct? Email [email protected] or volunteer as a CVE Analyst.