Skip to main content

OpenDJ CVE-2026-46495

| EUVDEUVD-2026-78579 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-06-22 https://github.com/OpenIdentityPlatform/OpenDJ GHSA-43x2-g84q-fmqx
9.2
CVSS 4.0 · Vendor: https://github.com/OpenIdentityPlatform/OpenDJ
Share

Severity by source

Vendor (https://github.com/OpenIdentityPlatform/OpenDJ) PRIMARY
9.2 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/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
vuln.today AI
9.8 CRITICAL

Pre-auth network-reachable deserialization gives AV:N/PR:N/UI:N and full C/I/A on the JVM; kept AC:L per the code path, though real-world exposure is gated by the non-default JMX handler and classpath.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/OpenIdentityPlatform/OpenDJ).

CVSS VectorVendor: https://github.com/OpenIdentityPlatform/OpenDJ

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

6
Analysis Updated
Sep 15, 2026 - 15:29 vuln.today
v3 (cvss_changed)
Re-analysis Queued
Sep 15, 2026 - 15:22 vuln.today
cvss_changed
CVSS changed
Sep 15, 2026 - 15:22 NVD
9.2 (CRITICAL)
CVE Published
Jun 22, 2026 - 22:00 cve.org
CRITICAL
Source Code Evidence Fetched
Jun 22, 2026 - 21:50 vuln.today
Analysis Generated
Jun 22, 2026 - 21:50 vuln.today

DescriptionCVE.org

Summary

Description

A Deserialization of Untrusted Data (CWE-502) issue in OpenDJ's JMX RMI connector allows an unauthenticated remote attacker to deserialize arbitrary Java objects on the server. The vulnerability exists because the platform reads and processes attacker-controlled bytes prior to authentication. This affects OpenDJ Community Edition through 5.1.0. This has been patched in version 5.1.1.

Impact

This impacts all current OpenDJ releases where the JMX Connection Handler is enabled. While disabled by default, it is frequently enabled in practice for monitoring integrations. Exploitation requires TCP reachability to the configured listener and does not require authentication, prior privileges, or client certificates. Successful exploitation results in unauthenticated Remote Code Execution (RCE), with the severity depending on the runtime classpath and Java version. Unauthenticated RCE was demonstrated on the OpenDJ 4.4.15 (JDK 11 + Jackson 2.12.6.1).

Patch

This has been patched in OpenDJ Community Edition version 5.1.1. Users are encouraged to update to the latest release.

AnalysisAI

Unauthenticated remote code execution in Open Identity Platform's OpenDJ Community Edition (through 5.1.0) arises from Java deserialization of untrusted data in the JMX RMI connector, which reads and processes attacker-controlled bytes before authentication. Any attacker with TCP reachability to the configured JMX listener can deliver a malicious serialized object gadget chain and execute code on the directory server; the vendor demonstrated working RCE on OpenDJ 4.4.15 (JDK 11 + Jackson 2.12.6.1). No CISA KEV listing and no public exploit code identified at time of analysis, though a vendor proof-of-concept demonstration is documented in the advisory.

Technical ContextAI

OpenDJ is a Java-based LDAP directory server (an Open Identity Platform community fork of ForgeRock/Sun OpenDJ), distributed via the Maven artifact org.openidentityplatform.opendj:opendj-server-legacy. The affected surface is its JMX Connection Handler, which exposes remote management over Java RMI. The root cause is CWE-502 (Deserialization of Untrusted Data): the RMI connector's pre-authentication credential-handling path (RmiAuthenticator.authenticate) accepted and cast an arbitrary deserialized Object[] before validating the caller, so the JVM materialized attacker-supplied classes during unmarshalling. If exploitable gadget classes are present on the runtime classpath (e.g., Jackson databind and similar libraries), that deserialization is turned into arbitrary code execution. The fix (PR #651, commits 7e3a759 and d4a95c2) adds a strict credential type check (only a two-element String[] is accepted) and installs a JEP 290 credentials-scoped deserialization filter ('maxdepth=3;maxarray=2;java.lang.String;!*') plus a jmx.remote.rmi.server.credential.types allowlist, scoped to credentials so legitimate MBean traffic is unaffected.

RemediationAI

Vendor-released patch: upgrade to OpenDJ Community Edition 5.1.1, which enforces a strict two-element String[] credential type and applies a credentials-scoped JEP 290 deserialization filter (commits 7e3a75903159153c877daeb2952a552701e38044 and d4a95c2e37c375756f9829c7ec43a4785b99e2e2, PR https://github.com/OpenIdentityPlatform/OpenDJ/pull/651, release https://github.com/OpenIdentityPlatform/OpenDJ/releases/tag/5.1.1). If immediate patching is not possible, disable the JMX Connection Handler entirely if it is not required (it is off by default and removes the attack surface completely, at the cost of losing JMX-based monitoring integrations); where JMX must remain enabled, restrict TCP reachability to the JMX listener with host or network firewall rules so only trusted management hosts can connect, and consider applying a JVM-wide JEP 290 deserialization filter via jdk.serialFilter to reject untrusted classes (test carefully, as an overly broad filter can break legitimate JMX MBean traffic). Full details are in advisory GHSA-43x2-g84q-fmqx (https://github.com/OpenIdentityPlatform/OpenDJ/security/advisories/GHSA-43x2-g84q-fmqx).

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-46495 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy