CVE-2026-45069: Symfony: OidcTokenHandler Accepts JWTs Missing aud/iss/exp Claims
Description
OidcTokenHandler is Symfony's built-in access-token handler for OpenID Connect: it validates a bearer JWT and returns the authenticated user identity. It delegates claim validation to the web-token/jwt-checker library's ClaimCheckerManager.
OidcTokenHandler::verifyClaims() registers audience (aud), issuer (iss), and expiry (exp) checkers, but never passes the $mandatoryClaims argument to ClaimCheckerManager::check(). That method only validates claims that are present in the token: a checker for an absent claim is silently skipped. A validly-signed JWT that simply omits aud, iss, and exp therefore passes verification.
Resolution
The OidcTokenHandler now calls the ClaimCheckerManager with the list of mandatory claims so that tokens missing aud, iss, or exp are rejected.
The patch for this issue is available here for branch 6.4.
Credits
Symfony would like to thank Claude Mythos Preview (via Project Glasswing) for reporting the issue and providing the fix.
Other sources
Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to 6.4.40, 7.4.12, and 8.0.12, OidcTokenHandler::verifyClaims() registered audience (aud), issuer (iss), and expiry (exp) checkers but did not pass the mandatory claims list to ClaimCheckerManager::check(), so a validly signed JWT that omitted those claims could pass verification. This issue is fixed in versions 6.4.40, 7.4.12, and 8.0.12.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
composer/symfony/symfonyto a version that resolves this vulnerability.Fixed in 8.0.12 - Upgrade
Upgrade
composer/symfony/symfonyto a version that resolves this vulnerability.Fixed in 7.4.12 - Upgrade
Upgrade
composer/symfony/symfonyto a version that resolves this vulnerability.Fixed in 6.4.40 - Upgrade
Upgrade
composer/symfony/security-httpto a version that resolves this vulnerability.Fixed in 8.0.12 - Upgrade
Upgrade
composer/symfony/security-httpto a version that resolves this vulnerability.Fixed in 7.4.12 - Upgrade
Upgrade
composer/symfony/security-httpto a version that resolves this vulnerability.Fixed in 6.4.40 - Upgrade
Upgrade
symfony/symfonyto a version that resolves this vulnerability.Fixed in 6.4.40 - Upgrade
Upgrade
symfony/symfonyto a version that resolves this vulnerability.Fixed in 7.4.12 - Upgrade
Upgrade
symfony/symfonyto a version that resolves this vulnerability.Fixed in 8.0.12
Event History
Frequently Asked Questions
What is the severity of CVE-2026-45069?
The severity of CVE-2026-45069 is rated at 65, indicating a moderate risk level.
How do I fix CVE-2026-45069?
To fix CVE-2026-45069, update Symfony components including 'composer/symfony/symfony' and 'composer/symfony/security-http' to the latest version that includes the patch.
What does CVE-2026-45069 affect?
CVE-2026-45069 affects Symfony's OidcTokenHandler, which is responsible for validating access tokens in OpenID Connect.
What are the potential impacts of CVE-2026-45069?
The potential impacts of CVE-2026-45069 include unauthorized access due to improper validation of bearer JWT claims.
Is there a known exploit for CVE-2026-45069?
As of now, there are no publicly known exploits for CVE-2026-45069, but it is advisable to address the vulnerability promptly.