ZeroHour

CVE-2026-45794

niche

Java class-loading deserialization flaw in OpenAM push SNS callback (pre-16.1.1)

CVSS 4.0
7.7 high
EPSS
Published
()
Modified
AI analysis

OpenAM (Open Access Management) versions prior to 16.1.1 contain an unsafe deserialization flaw (CWE-502) in the anonymous Push Notification SNS callback handled by SnsMessageResource. After a messageId expires from the in-memory dispatcher, the code falls back to a persistent CTS predicate blob whose top-level JSON keys are passed to Class.forName and whose contents are deserialized via Jackson, allowing blob replacement through anonymous callbacks. A low-privileged user who initiates Push Registration and obtains the messageId, shared secret, and challenge can wait for expiry, overwrite the blob, and trigger attacker-influenced class loading and construction inside the OpenAM JVM, enabling classpath-dependent process execution, file writes, or denial of service (command execution was not confirmed on the tested stock classpath). All deployments running OpenAM before 16.1.1 that expose the push notification SNS callback are affected. No public proof of concept exists and the issue is not in the CISA KEV catalog, so exploitation in the wild is not known.

What to do: Upgrade OpenAM to version 16.1.1 or later. Until patched, restrict or disable anonymous access to the SNS push notification callback (SnsMessageResource), and consider blocking or rate-limiting SNS callbacks referencing expired or unknown messageIds. Review logs for anomalous Push Registration activity, repeated anonymous callbacks targeting the same messageId after expiry, and any unexpected class loading, file writes, or JVM crashes on OpenAM hosts.

Affected
Open Identity Platform Community OpenAM (Open Access Management)all versions prior to 16.1.1
Estimated exposure
nichelikely low thousands of self-hosted deployments at most; no reliable count available — OpenAM is a self-hosted, open-source enterprise identity platform with no public install counts, and typical deployments sit on internal or restricted network segments rather than being widely internet-exposed.

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, the anonymous Push Notification SNS callback handled by SnsMessageResource falls back to a CTS predicate blob after a messageId expires from the in-memory dispatcher, treats top-level blob keys as Java class names for Class.forName, and deserializes attacker-controlled JSON through Jackson. A low-privileged user who starts Push Registration and obtains the messageId, shared secret, and challenge can wait for expiry, replace the persistent blob through anonymous callbacks, and trigger class loading and construction in the OpenAM JVM. The primitive can cause classpath-dependent process execution, file writes, or denial of service, although command execution was not confirmed on the tested stock classpath. This issue is fixed in version 16.1.1.

Weakness
CWE-502
Vector
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/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.