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

VectorAV: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

Weakness Enumeration

Related Identifiers

CVE-2026-27830
GHSA-5476-XC4J-RQCV
OESA-2026-1691
SUSE-SU-2026:0855-1
SUSE-SU-2026:1035-1

Affected Products

C3P0
Mchange-Commons-Java