Skip to content

OpenDJ JMX MBean-argument deserialization without a serial filter

Moderate
vharseko published GHSA-qj63-3vrg-vcfx Jul 22, 2026

Package

maven org.openidentityplatform.opendj:opendj-server-legacy (Maven)

Affected versions

<= 5.1.1

Patched versions

5.1.2

Description

Summary

The CVE-2026-46495 fix scoped its JEP 290 deserialization filter to the JMX authentication credentials only (jmx.remote.rmi.server.credentials.filter.pattern). No connector-wide jmx.remote.rmi.server.serial.filter.pattern and no JVM-wide jdk.serialFilter are configured. As a result, once a client authenticates, the arguments of MBean operations (the Object[] params of invoke()) are unmarshalled by the JMX/RMI server with no serial filter at all.

Impact

An authenticated directory user holding the JMX_READ privilege, on a deployment where the JMX connection handler is enabled, can drive native Java deserialization of arbitrary object graphs through MBean operation arguments. With a suitable gadget on the server classpath this can lead to RCE; absent a gadget it is still an unrestricted-deserialization sink (DoS via resource-exhausting graphs). It is the post-authentication continuation of CVE-2026-46495, which closed only the pre-auth credentials slot.

Preconditions

  • JMX connection handler is disabled by default.
  • Requires valid credentials and the JMX_READ privilege (not anonymous, unlike the original CVE).
  • RCE is gadget-dependent.

Remediation

Install the connector-wide jmx.remote.rmi.server.serial.filter.pattern alongside the credentials filter, allowlisting only the JDK / JMX management types OpenDJ accepts as MBean operation arguments and attribute values, and rejecting everything else with a trailing !*:

maxdepth=20;java.lang.*;java.math.BigInteger;java.math.BigDecimal;java.util.*;javax.management.*;javax.management.openmbean.*;!*

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
High
Privileges required
High
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H

CVE ID

CVE-2026-62373

Weaknesses

Deserialization of Untrusted Data

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid. Learn more on MITRE.

Credits