CVE-2026-33439 is a pre-authentication remote code execution vulnerability in OpenIdentityPlatform OpenAM affecting versions prior to 16.0.6. The flaw is caused by unsafe Java deserialization of attacker-controlled data supplied in the jato.clientSession HTTP parameter. A prior hardening change for CVE-2021-35464 added whitelist-based deserialization protections to the jato.pageSession path, but the separate jato.clientSession path remained unprotected, allowing serialized objects to reach Java deserialization logic without equivalent class filtering. The vulnerable path is reachable through JATO ViewBean endpoints whose JSP pages contain jato:form tags, including password reset functionality. By sending a crafted serialized Java object in a GET or POST request to a reachable vulnerable endpoint, an unauthenticated attacker can trigger deserialization and execute arbitrary code on the OpenAM server.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).
This repository is a compact exploit project for CVE-2026-33439, an unauthenticated Java deserialization RCE in OpenIdentityPlatform OpenAM. It contains 5 files: a Python exploit, a Docker Compose lab for reproducing the issue, a README with vulnerability and usage documentation, plus license and gitignore files. The main exploit file is 02 Exploit/Exploit_CVE_2026_33439.py, which is a standalone Python script rather than a framework module. The exploit’s workflow is: (1) probe likely JATO ViewBean endpoints (/ui/PWResetUserValidation, /ui/PWResetQuestion, /ui/Login), (2) generate and compile a malicious Java EvilTranslet class using attacker-supplied command text, (3) assemble a TemplatesImpl-based serialized gadget chain using OpenAM-bundled libraries, and (4) deliver the serialized payload in the jato.clientSession parameter via HTTP GET or POST to a reachable endpoint. The payload executes arbitrary OS commands through Runtime.getRuntime().exec(), enabling simple command execution, HTTP callback beacons, or reverse shells. The repository also includes 01 Vulnerable/docker-compose.yml, which provisions a vulnerable OpenAM 16.0.5 lab on Tomcat and a separate attacker container. This lab file is not the exploit itself but supports reproduction and testing. The README confirms the target scope as OpenAM versions before 16.0.6 and explains the root cause: jato.clientSession is deserialized without the whitelist protections previously added for jato.pageSession. Overall, this is a real operational exploit PoC with a functional payload path, not merely a detector or write-up. It is operational rather than weaponized because the payload is customizable only through a supplied command string and requires local preparation of specific JAR dependencies.
This repository contains a working exploit for CVE-2026-33439, a pre-authentication Java deserialization RCE in ForgeRock/OpenIdentityPlatform OpenAM. The repo includes both a Nuclei template (CVE-2026-33439.yaml) and a standalone Java PoC source/build setup. Because it is part of a framework, the main exploit file is the Nuclei template, which sends unauthenticated GET requests to OpenAM password-reset UI endpoints with a malicious jato.clientSession parameter and a cmd header. The template uses clusterbomb combinations of base paths (sso, openam, auth, opensso, am) and pages (PWResetUserValidation, PWResetQuestion, PWResetSuccess), executes 'cat /etc/passwd', and confirms exploitation by matching root account output in a 200 response. The accompanying Java PoC shows the exploit structure in detail: it generates a reusable serialized PriorityQueue payload using an Apache Click + Xalan TemplatesImpl gadget chain, encodes it in OpenAM-compatible Base64, and optionally sends it with curl. The embedded translet accesses com.iplanet.jato.RequestManager.getRequestContext(), reads the cmd HTTP header, executes /bin/sh -c <cmd>, and writes command output directly to the HTTP response stream, providing in-band echo-based RCE without DNS/OOB channels. The PoC defaults to proxying through http://127.0.0.1:8080 and supports a --no-proxy option. Repository structure is small and focused: one Nuclei template, one Java source file, a manifest, a build script, and a README. Overall purpose: provide both automated scanning/verification and a standalone exploit implementation for unauthenticated OpenAM RCE via jato.clientSession deserialization.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
12 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A pre-authentication remote code execution vulnerability affecting OpenAM versions 16.0.5 and earlier.
A pre-authentication remote code execution vulnerability in OpenIdentityPlatform OpenAM caused by unsafe Java deserialization of the jato.clientSession HTTP parameter, allowing unauthenticated arbitrary command execution.
A critical pre-authentication remote code execution vulnerability in OpenIdentityPlatform OpenAM caused by unsafe Java deserialization of the jato.clientSession parameter through an unfiltered deserialization path.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.