CVE-2026-50202
### Summary The JWT signing key cache in `TokenKeyResolver` uses `kid` as the sole cache key without namespacing by authority. In applications with multiple `JwtBearer` schemes pointing to different identity providers, a key fetched for one scheme can satisfy token validation for another. Additionally, cached keys have no expiration, so rotated or revoked keys remain trusted until the application process restarts. ### Impact In multi-scheme deployments, an attacker who controls one identity provider's signing key can forge tokens accepted by other schemes within the same application. For all applications using `TokenKeyResolver`, a signing key removed from the identity provider's JWKS endpoint remains trusted indefinitely. ### Mitigations If an immediate upgrade is not possible: - In multi-scheme deployments, configure only one `JwtBearer` scheme per application when different identity providers are required. - Restart the application process after an identity provider signing key rotation to clear stale cached keys.
Properties
- severity
- medium
- summary
- Steeltoe's static JWKS cache shared across schemes and never invalidated
- epss_score
- 0.0029
- cvss_score
- 5.9
- ghsa_published
- 2026-07-02T20:31:47Z
- source_url
- https://github.com/advisories/GHSA-7fqc-p256-7pwj
- ghsa_updated
- 2026-07-02T20:31:48Z
- ghsa_id
- GHSA-7fqc-p256-7pwj
- cve_id
- CVE-2026-50202
- cvss_vector
- CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
- is_ghsa_only
- false
- epss_percentile
- 0.21516
Related Entities (9)
ENRICHED_BY (1)
REPORTED_BY (1)
VULNERABLE_TO (3)
AFFECTS (3)
HAS_WEAKNESS (1)
Explore deeper with Ninja Signal's threat intelligence graph