Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') Affecting c3p0 package, versions <0.9.1.2-9+deb8u1ubuntu0.18.04.1+esm1


Severity

Recommended
medium

Based on Ubuntu security rating.

Threat Intelligence

EPSS
0.19% (9th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-UBUNTU1804-C3P0-17809554
  • published18 Aug 2026
  • disclosed1 Jul 2026

Introduced: 1 Jul 2026

CVE-2026-55153  (opens in a new tab)
CWE-470  (opens in a new tab)
CWE-502  (opens in a new tab)

How to fix?

Upgrade Ubuntu:18.04 c3p0 to version 0.9.1.2-9+deb8u1ubuntu0.18.04.1+esm1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream c3p0 package and not the c3p0 package as distributed by Ubuntu. See How to fix? for Ubuntu:18.04 relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1