CVE-2026-46495
nicheUnauthenticated Java Deserialization RCE in OpenDJ JMX RMI Connector
OpenDJ, an open-source LDAPv3 directory server, is vulnerable to remote code execution via unsafe Java deserialization in its JMX RMI connector prior to version 5.1.1. The RmiConnector processes attacker-controlled serialized credential objects before authentication without a restrictive jmx.remote.rmi.server.credentials.filter.pattern, and RmiAuthenticator.authenticate accepts an unconstrained Object array instead of a two-element String array, allowing an unauthenticated attacker on the network to submit a crafted serialized Java object that executes code in the server process. Exploitation requires the JMX Connection Handler to be enabled (it is disabled by default) with its TCP listener reachable, and success depends on the runtime classpath and Java version — RCE was demonstrated against OpenDJ 4.4.15 on JDK 11 with Jackson 2.12.6.1 on the classpath. No public proof-of-concept exists and the flaw is not in the CISA KEV catalog, so exploitation in the wild is not known. The issue is rated critical (CVSS 4.0: 9.2) and is fixed in OpenDJ 5.1.1.
What to do: Upgrade to OpenDJ 5.1.1 or later. Verify that the JMX Connection Handler is disabled unless explicitly required; if it must run, restrict its TCP port to trusted management networks and set jmx.remote.rmi.server.credentials.filter.pattern to a restrictive allowlist (e.g., permitting only java.lang.String and the JMX credential types). Audit OpenDJ servers for unexpected JMX/RMI connections or anomalous JVM behavior, and review the runtime classpath for gadget libraries such as Jackson.
| OpenIdentityPlatform OpenDJ | all versions prior to 5.1.1 (confirmed exploitable on 4.4.15; fixed in 5.1.1) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
OpenDJ is an LDAPv3 compliant directory service. Prior to 5.1.1, the JMX RMI connector in opendj-server-legacy/src/main/java/org/opends/server/protocols/jmx/RmiConnector.java processes attacker-controlled credential objects before authentication without a restrictive jmx.remote.rmi.server.credentials.filter.pattern, and RmiAuthenticator.authenticate in opendj-server-legacy/src/main/java/org/opends/server/protocols/jmx/RmiAuthenticator.java accepts an unconstrained Object array rather than a two-element String[]. When the JMX Connection Handler is enabled and its TCP listener is reachable, an unauthenticated remote attacker can submit a crafted serialized Java object and achieve code execution in the OpenDJ server process. The handler is disabled by default, and successful exploitation depends on the runtime classpath and Java version; remote code execution was demonstrated against OpenDJ 4.4.15 on JDK 11 with Jackson 2.12.6.1. This issue is fixed in 5.1.1.
- Weakness
- CWE-502
- Vector
- 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
In the news0 stories
No ingested article mentions this CVE yet.