Description
mchange-commons-java is a Java library of shared utility classes used by mchange projects like the c3p0 connection pool. Prior to version 0.6.0, its JNDI ObjectFactory implementation (com.mchange.v2.naming.JavaBeanObjectFactory) will construct objects of arbitrary classes and initialize "JavaBean"-style properties, which for certain classes enables JNDI injection and "deserialization gadgets." Such initialization is unsafe for some classes: for example, setting the contentType property of a Swing JEditorPane to text/html and its text property to HTML containing a stylesheet <link> will provoke an HTTP GET on an arbitrary URL, potentially from within a trusted security domain. The problem is aggravated by the library's ReferenceIndirector, through which malicious JNDI Reference objects can be smuggled in for dereferencing wherever an application reads a Java-serialized object. This has been resolved in version 0.6.0.
Published: 2026-07-01
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in mchange-commons-java prior to version 0.6.0 allows its JNDI ObjectFactory to instantiate arbitrary Java classes and set JavaBean‑style properties without validation. When these properties belong to classes that perform side effects—such as Swing’s JEditorPane—the initialization can trigger external HTTP requests, enabling the attacker to transport data from a compromised application. This same vulnerable factory, together with the library’s ReferenceIndirector, permits an attacker to supply malicious JNDI Reference objects or serialized payloads that invoke deserialization gadgets, thereby creating a potential for arbitrary code execution.

Affected Systems

Any deployment that incorporates mchange-commons-java versions earlier than 0.6.0 is vulnerable. The library is used by the c3p0 connection pool and other mchange projects; applications that rely on connection pooling, object serialization, or perform JNDI lookups may be affected. The vulnerability is not tied to a particular operating system or runtime; based on the description it is inferred that the flaw could surface on any Java environment that processes untrusted data through this library.

Risk and Exploitability

The CVSS score of 7.1 indicates significant severity, but the EPSS score of less than 1% reflects a low current exploitation probability. The issue is not listed in the CISA KEV catalog. Attackers could deliver malicious JNDI Reference objects or deserialized payloads that the application processes, possibly leading to arbitrary code execution or unauthorized network activity. Based on the description, it is inferred that the attack vector is likely through injection of JNDI references or untrusted serialized data, and the vulnerability applies across operating systems wherever the Java runtime is present.

Generated by OpenCVE AI on July 17, 2026 at 12:09 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to mchange-commons-java 0.6.0 or later, which removes the vulnerable ObjectFactory and ReferenceIndirector.
  • If an upgrade cannot be performed, eliminate the com.mchange.v2.naming.JavaBeanObjectFactory from the classpath or configure the application to reject JNDI Reference dereferencing by adjusting the security policy and system properties.
  • Restrict deserialization to approved classes or perform rigorous validation before feeding data into ObjectInputStream, and monitor for unexpected network activity triggered by JEditorPane or similar components.

Generated by OpenCVE AI on July 17, 2026 at 12:09 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Fri, 03 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Thu, 02 Jul 2026 04:15:00 +0000

Type Values Removed Values Added
First Time appeared Swaldman
Swaldman mchange-commons-java
Vendors & Products Swaldman
Swaldman mchange-commons-java

Wed, 01 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Description mchange-commons-java is a Java library of shared utility classes used by mchange projects like the c3p0 connection pool. Prior to version 0.6.0, its JNDI ObjectFactory implementation (com.mchange.v2.naming.JavaBeanObjectFactory) will construct objects of arbitrary classes and initialize "JavaBean"-style properties, which for certain classes enables JNDI injection and "deserialization gadgets." Such initialization is unsafe for some classes: for example, setting the contentType property of a Swing JEditorPane to text/html and its text property to HTML containing a stylesheet <link> will provoke an HTTP GET on an arbitrary URL, potentially from within a trusted security domain. The problem is aggravated by the library's ReferenceIndirector, through which malicious JNDI Reference objects can be smuggled in for dereferencing wherever an application reads a Java-serialized object. This has been resolved in version 0.6.0.
Title mchange-commons-java contains elements susceptible to abuse via JNDI injection and "deserialization gadgets"
Weaknesses CWE-470
CWE-502
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Swaldman Mchange-commons-java
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-06T14:02:08.977Z

Reserved: 2026-06-16T15:13:28.165Z

Link: CVE-2026-55153

cve-icon Vulnrichment

Updated: 2026-07-06T14:02:04.777Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-01T20:02:47Z

Links: CVE-2026-55153 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-17T12:15:16Z

Weaknesses
  • CWE-470

    Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

  • CWE-502

    Deserialization of Untrusted Data