GitHub Advisoryadvisory · Packagist
GHSA-29fc-p6c4-24cg Symfony's OidcTokenHandler Accepts JWTs Missing aud/iss/exp Claims
MEDIUM
Official page ↗
- Aliases
- CVE-2026-45069
- Ecosystem
- Packagist
- Packages
- symfony/security-http, symfony/symfony
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U
- Weaknesses
- CWE-1287, CWE-345
- Reviewed
- 2026-05-27
Affected packages
• Packagist symfony/security-http: >= 6.3.0, < 6.4.40 → fixed in 6.4.40
• Packagist symfony/security-http: >= 7.4.0, < 7.4.12 → fixed in 7.4.12
• Packagist symfony/security-http: >= 8.0.0, < 8.0.12 → fixed in 8.0.12
• Packagist symfony/symfony: >= 6.3.0, < 6.4.40 → fixed in 6.4.40
• Packagist symfony/symfony: >= 7.4.0, < 7.4.12 → fixed in 7.4.12
• Packagist symfony/symfony: >= 8.0.0, < 8.0.12 → fixed in 8.0.12
Description
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.
Related
Alias · CVE (1)
- CVE-2026-45069 Symfony is a PHP framework for web and console applications and a set of reusable PHP components. vulnerability
References
- https://github.com/symfony/symfony/security/advisories/GHSA-29fc-p6c4-24cg web
- https://github.com/symfony/symfony/commit/6b717aaac21b7e96798448d14c4355ea87690b3d web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/security-http/CVE-2026-45069.yaml web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2026-45069.yaml web
- https://github.com/symfony/symfony package
- https://symfony.com/cve-2026-45069 web