CVE-2026-45794
Received Received - Intake

OpenAM Push Notification Deserialization Flaw

Vulnerability report for CVE-2026-45794, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-15

Last updated on: 2026-09-15

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-15
Last Modified
2026-09-15
Generated
2026-09-15
AI Q&A
2026-09-15
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
forgerock openam 16.1.1
openidentityplatform openam to 16.1.1 (exc)
openidentityplatform openam 16.1.1

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-502 The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in OpenAM involves unsafe Java deserialization through push notifications. An attacker can exploit it by starting Push Registration, obtaining a messageId and shared secret, waiting for the messageId to expire, and then replacing a persistent blob via anonymous callbacks. This triggers class loading and deserialization of attacker-controlled JSON, potentially leading to process execution, file writes, or denial of service.

Detection Guidance

To detect this vulnerability, check if your OpenAM instance is running a version prior to 16.1.1. Verify the version by examining the OpenAM server logs or running commands like 'curl -s http://<openam-server>/openam/version' or checking the installed package version via 'dpkg -l | grep openam' or 'rpm -qa | grep openam'.

Impact Analysis

The impact includes potential remote code execution, unauthorized file writes, or denial of service depending on the OpenAM deployment's classpath. An attacker with low privileges can trigger these effects by exploiting the deserialization flaw through crafted push notification callbacks.

Mitigation Strategies

Immediately upgrade OpenAM to version 16.1.1 or later to address the vulnerability. Disable anonymous access to the Push Notification SNS callback endpoint if possible. Review and restrict access to the Core Token Service (CTS) to prevent unauthorized modifications to stored predicate blobs.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-45794. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart