PT-2026-22063 · C3P0+1 · C3P0+1
Dpp
·
Published
2026-02-25
·
Updated
2026-03-20
·
CVE-2026-27830
CVSS v4.0
8.9
High
| Vector | AV:A/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
c3p0 versions prior to 0.12.0
Description
c3p0, a JDBC Connection pooling library, is susceptible to attack through maliciously crafted Java-serialized objects and
javax.naming.Reference instances. Specifically, the userOverridesAsString property in several ConnectionPoolDataSource implementations, which represents a Map<String,Map<String,String>>, was previously maintained as a hex-encoded serialized object. An attacker who can modify this property, either directly or through malicious serialized objects or javax.naming.Reference instances, could potentially execute arbitrary code on the application's CLASSPATH. This risk is amplified by vulnerabilities in c3p0's dependency, mchange-commons-java, which includes JNDI functionality with ungated support for remote factoryClassLocation values. Attackers could leverage this to set userOverridesAsString with objects indirectly serialized via JNDI references, leading to the download and execution of malicious code from a remote factoryClassLocation. The use of Java-serialized-object hex encoding for a writable Java-Bean property exposed across JNDI interfaces is a significant security concern.Recommendations
Upgrade to c3p0 version 0.12.0 or later.
Exploit
Fix
Code Injection
Deserialization of Untrusted Data
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
C3P0
Mchange-Commons-Java