Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify multi-scheme Steeltoe deployment with distinct IdPs
-
DeliveryDiscover matching kid across two IdP JWKS endpoints
-
ExploitObtain valid JWT from IdP-A bearing the shared kid
-
ExecutionSubmit token to application endpoint protected by IdP-B scheme
-
PersistCache collision causes TokenKeyResolver to return IdP-A key for IdP-B validation
-
ImpactUnauthorized access granted to IdP-B-protected resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Resource sphere isolation
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation of the cross-authority confusion vector requires all of the following: (1) the application must register two or more |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N) scores 5.9, reflecting network exploitability against high-complexity, high-privilege conditions. AC:H is well-justified: exploitation requires both a multi-scheme deployment across distinct IdPs AND a |
| Exploit ScenarioDerived | An attacker who holds a valid JWT from identity provider A - or who can influence IdP A's key naming - submits that token to an application endpoint whose |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 17, 2026
Cross-authority JWT signing key confusion in Steeltoe authentication libraries allows tokens issued by one identity provider to be accepted by application schemes configured for a different authority. Affected are CloudFoundryBase prior to 3.4.0, JwtBearer prior to 4.2.0, and OpenIdConnect prior to 4.2.0 when deployed in multi-scheme configurations. No public exploit has been identified at time of analysis; vendor patches are available and no CISA KEV listing exists.
RemediationAI
Upgrade to the patched releases: Steeltoe.Security.Authentication.CloudFoundryBase 3.4.0, Steeltoe.Security.Authentication.JwtBearer 4.2.0, and Steeltoe.Security.Authentication.OpenIdConnect 4.2.0. These versions introduce authority-namespaced cache keys and bounded TTL expiration, eliminating both the cross-authority confusion and the stale-key retention issues. Fix commits are available at https://github.com/SteeltoeOSS/Steeltoe/commit/04db2ace3b806bfe0260bb7d4bda340f241eff48 and https://github.com/SteeltoeOSS/Steeltoe/commit/17b27b8be546ae3f83a2f6e91d45e0c84c5314b7. If immediate upgrade is not possible, two compensating controls apply: (1) Restrict each application instance to a single JwtBearer scheme - this eliminates the cross-authority cache collision vector but requires architectural changes in multi-IdP deployments and may not be feasible without application refactoring; (2) Restart the application process immediately after any identity provider signing key rotation - this flushes the unbounded ConcurrentDictionary cache, preventing post-rotation stale key acceptance, but is purely reactive and requires operational discipline to execute consistently. Neither workaround addresses both attack vectors simultaneously.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in nuget
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in the TokenKeyResolver class shared across the three affected Steeltoe NuGet packages (CPE: cpe:2.3:a:steeltoeoss:steeltoe.security.authentication.cloudfoundrybase, cpe:2.3:a:steeltoeoss:steeltoe.security.authentication.jwtbearer, cpe:2.3:a:steeltoeoss:steeltoe.security.authentication.openidconnect). The root cause maps to CWE-668 (Exposure of Resource to Wrong Sphere): the JWT signing key cache used a ConcurrentDictionary<string, SecurityKey> indexed solely by the kid (Key ID) JWT header value, with no authority URL included in the cache key and no expiration policy. In ASP.NET Core applications registering multiple JwtBearer schemes pointing to distinct identity providers, this shared namespace means a resolved key fetched for authority A will satisfy cache lookups initiated by scheme B if both IdPs happen to use the same kid string. The commit diff at 04db2ace confirms the fix: composite cache keys are now formed by combining the authority URI with the kid (via GetCacheKey(tokenKeysUri, keyId)), the unbounded ConcurrentDictionary is replaced with MemoryCache carrying a 12-hour TTL for found keys and 30-60 second TTL for not-found entries, and the resolver is registered as a singleton shared across all schemes rather than being instantiated per-scheme.
Know when Steeltoe Security Authentication Cloudfoundrybase gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
Multi-scheme deployment plus kid collision required (AC:H); attacker needs only a valid token from one co-configured IdP (PR:L, not PR:H); no availability impact applies.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. In Steeltoe.Security.Authentication.CloudFoundryBase prior to version 3.4.0, Steeltoe.Security.Authentication.JwtBearer prior to version 4.2.0, and Steeltoe.Security.Authentication.OpenIdConnect prior to version 4.2.0, 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. Steeltoe.Security.Authentication.CloudFoundryBase version 3.4.0, Steeltoe.Security.Authentication.JwtBearer version 4.2.0, and Steeltoe.Security.Authentication.OpenIdConnect version 4.2.0 patch the issue. If an immediate upgrade is not possible: In multi-scheme deployments, configure only one JwtBearer scheme per application when different identity providers are required; and/or restart the application process after an identity provider signing key rotation to clear stale cached keys.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-37817
GHSA-7fqc-p256-7pwj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB