REDHAT-BUG-2496197: High severity mchange-commons-java vulnerability

Published Jul 1, 2026
·
Updated

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.

Affected Software

1 affected component
mchange-commons-java<0.6.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade mchange-commons-java to a version that resolves this vulnerability.

    Fixed in 0.6.0

Event History

Jul 1, 2026
Data Sourced
via Red Hat·09:02 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What conditions are required for exploitation?

An attacker needs a path to supply a malicious JNDI Reference to the application's JNDI ObjectFactory, or to have a malicious ReferenceIndirector payload dereferenced where the application reads a Java-serialized object. The unsafe factory can create arbitrary classes and set JavaBean-style properties.

2

What impact could a successful exploit have?

Impact depends on the class instantiated and properties set. The provided example causes a Swing JEditorPane to make an HTTP GET request to an attacker-chosen URL, potentially from a trusted security domain; the issue can also enable JNDI injection and deserialization-gadget behavior.

3

Which versions need remediation?

Versions prior to 0.6.0 are affected according to the advisory data. The issue is resolved in version 0.6.0.

4

How can teams identify potentially exposed application paths?

Review uses of com.mchange.v2.naming.JavaBeanObjectFactory and ReferenceIndirector, especially code that accepts or resolves JNDI Reference objects or reads Java-serialized objects. These are the locations described as capable of processing attacker-smuggled references.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203