Description
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.
Published: 2026-06-17
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Steeltoe’s authentication libraries use a static cache of JWT signing keys, keyed solely by the token identifier (kid). In applications that configure multiple JWT bearer schemes, a key fetched for one identity provider can be reused to validate tokens issued by another provider because the cache does not namespace keys by authority. The cache entries never expire, so rotated or revoked keys remain trusted until the application process is restarted. This flaw allows an attacker who possesses a valid token from one provider to present that token to a different provider’s scheme, thereby gaining unauthorized access, or to continue using a revoked token after the provider has rotated its keys. The weakness is classified as CWE‑668. The likely attack vector is that an attacker supplies a token issued by a trusted identity provider to an application using multiple authentication schemes; this inference is based on the described interaction between schemes and the nature of JWT validation.

Affected Systems

The vulnerability exists in Steeltoe OSS libraries: Steeltoe.Security.Authentication.CloudFoundryBase versions earlier than 3.4.0, Steeltoe.Security.Authentication.JwtBearer versions earlier than 4.2.0, and Steeltoe.Security.Authentication.OpenIdConnect versions earlier than 4.2.0. These libraries are used in cloud-native .NET applications to implement authentication against CF, JWT bearer, and OpenID Connect providers.

Risk and Exploitability

The CVSS base score is 5.9, indicating moderate severity, and the EPSS score of less than 1% implies a very low probability of exploitation at this time. The vulnerability is not listed in the CISA KEV catalog. However, because the flaw permits cross-provider token validation and staleness of revoked keys, the impact can be significant if an attacker can acquire a legitimate token from one authority. Exploitation requires supplying such a token and does not depend on arbitrary code execution. The lack of key expiration extends the window of opportunity until the application process restarts.

Generated by OpenCVE AI on June 18, 2026 at 19:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Steeltoe.Security.Authentication.CloudFoundryBase to version 3.4.0 or later, Steeltoe.Security.Authentication.JwtBearer to version 4.2.0 or later, and Steeltoe.Security.Authentication.OpenIdConnect to version 4.2.0 or later.
  • If an upgrade is not immediately feasible, configure the application to use only one JwtBearer authentication scheme per deployment when different identity providers are required.
  • After any identity provider signing key rotation, restart the application process to clear the stale key cache entries.

Generated by OpenCVE AI on June 18, 2026 at 19:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 18 Jun 2026 16:45:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 18 Jun 2026 04:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Steeltoe's static JWKS cache shared across schemes and never invalidated
Weaknesses CWE-668
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-18T13:08:28.869Z

Reserved: 2026-06-03T22:05:13.646Z

Link: CVE-2026-50202

cve-icon Vulnrichment

Updated: 2026-06-18T13:08:23.755Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-18T20:00:15Z

Weaknesses
  • CWE-668

    Exposure of Resource to Wrong Sphere