<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Mchange-Commons-Java (&lt; 0.6.0) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/mchange-commons-java--0.6.0/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 14 Aug 2026 20:06:44 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/mchange-commons-java--0.6.0/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Multiple Vulnerabilities in mchange-commons-java</title><link>https://feed.craftedsignal.io/briefs/2026-08-mchange-commons-java-vulnerabilities/</link><pubDate>Fri, 14 Aug 2026 20:06:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-mchange-commons-java-vulnerabilities/</guid><description>mchange-commons-java versions prior to 0.6.0 are susceptible to JNDI injection and deserialization gadget attacks due to insecure ObjectFactory implementations and the ReferenceIndirector mechanism.</description><content:encoded><![CDATA[<p>The mchange-commons-java library, commonly used as a dependency for the c3p0 JDBC connection pool, contained multiple vulnerabilities in its <code>com.mchange.v2.naming.JavaBeanObjectFactory</code> class and <code>ReferenceIndirector</code> mechanism. Versions prior to 0.5.0 allowed <code>BinaryRefAddress</code> elements to be interpreted as Java-serialized objects, enabling the execution of arbitrary code via deserialization gadget chains if libraries like <code>commons-collections</code> are present on the classpath.</p>
<p>Furthermore, versions prior to 0.6.0 permitted the <code>JavaBeanObjectFactory</code> to instantiate arbitrary classes and set properties. Attackers could leverage this via JNDI injection to perform actions such as SSRF (e.g., triggering HTTP requests via <code>JEditorPane</code>) or remote code execution. The <code>ReferenceIndirector</code> mechanism further facilitated these attacks by allowing malicious JNDI <code>Reference</code> objects to be smuggled through serialized data. These issues were addressed in version 0.6.0 by imposing class whitelisting, disabling deserialization support in the <code>ObjectFactory</code> by default, and disabling the <code>ReferenceIndirector</code>.</p>
<h2 id="impact">Impact</h2>
<p>The vulnerability impacts any Java application utilizing mchange-commons-java versions below 0.6.0, particularly those using the c3p0 connection pool. If exploited, an attacker could achieve remote code execution on the application server or perform server-side request forgery (SSRF). The success of deserialization-based RCE depends on the presence of vulnerable gadget chains within the application's classpath, while JNDI injection-based SSRF can affect environments regardless of secondary gadget availability.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>mchange-commons-java</code> to version 0.6.0 or higher.</li>
<li>Update <code>c3p0</code> to version 0.14.0 or higher, which includes the patched <code>mchange-commons-java</code> library transitively.</li>
<li>If immediate patching is not possible, implement rigorous Java serialization filters (JEP 290/394) to block the deserialization of untrusted classes.</li>
<li>Migrate to JVM version 16 or newer, as this makes internal JVM-based XSLT gadget chains inaccessible.</li>
<li>Audit application classpaths to identify and remove unnecessary libraries containing known deserialization gadgets (e.g., <code>commons-beanutils</code>, <code>commons-collections</code>).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>