ZeroHour

CVE-2026-46498

niche

OAuth Token Forgery via Unvalidated Core Token Store Entries in OpenAM before 16.1.1

CVSS 4.0
7.6 high
EPSS
Published
()
Modified
AI analysis

OpenAM (Open Access Management) versions prior to 16.1.1 do not keep OAuth tokens in an OAuth-only namespace within the shared Core Token Store (CTS), and OAuthAdapter accepts a CTS row whose BLOB merely claims to be an OAuth token without binding the trusted CTS token type or verifying integrity — a user-controlled-key authorization bypass (CWE-639). An attacker who can place controlled JSON into CTS under a known token identifier, for example via Push Registration followed by an anonymous SNS callback in an enabled realm, can then present that identifier to the token store. The result is the ability to mint OAuth 2.0 bearer tokens and OpenID Connect ID tokens with a chosen subject, client, realm, and scope, effectively impersonating any user to applications and APIs that trust OpenAM-issued tokens; the flaw does not itself create an OpenAM SSO session or grant admin console access. Any self-hosted deployment running a version before 16.1.1 is affected, with the CTS-write prerequisite making realms that have Push Registration and anonymous SNS callbacks enabled the most directly exposed. The issue is fixed in 16.1.1; no public proof of concept is known and no exploitation in the wild has been reported.

What to do: Upgrade to OpenAM 16.1.1, which namespaces OAuth tokens and enforces CTS type binding and integrity checks. Until patched, disable or tightly restrict Push Registration and anonymous SNS callback endpoints in enabled realms, and limit principals able to write to the Core Token Store. Review CTS contents and issued-token logs for anomalous or attacker-chosen token identifiers and revoke any suspect bearer or ID tokens.

Affected
OpenIdentityPlatform Open Access Management (OpenAM)All versions prior to 16.1.1 (fixed in 16.1.1)
Estimated exposure
nicheEstimated hundreds to low thousands of self-hosted deployments worldwide, with only the subset exposing Push Registration / anonymous SNS callbacks directly… — OpenAM is a self-hosted, open-source access management server with no published install counts or telemetry, and typically runs on internal or limited internet-facing infrastructure, so the base is almost certainly small and the…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Open Access Management (OpenAM) is an access management solution. Prior to 16.1.1, OAuthTokenStore reads caller-supplied token identifiers from the shared Core Token Store (CTS) without an OAuth-only namespace, and OAuthAdapter accepts a row whose BLOB claims to contain an OAuth token without binding the trusted CTS type or verifying integrity. An attacker who can place controlled JSON in CTS under a known token identifier, such as through Push Registration followed by an anonymous SNS callback in an enabled realm, can mint OAuth bearer tokens and OpenID Connect ID tokens with chosen subject, client, realm, and scope. The flaw does not by itself create an OpenAM SSO session or grant console access. This issue is fixed in version 16.1.1.

Weakness
CWE-639
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.