CVE-2026-27830

c3p0 vulnerable to Remote Code Execution via unsafe deserialization of userOverridesAsString property

HIGH
8
CVSS Score
Published: February 26, 2026 at 12:45 AM UTC
Updated: September 14, 2026 at 01:17 PM UTC
6 products affected across 2 vendorsSatelliteJBoss Enterprise Application PlatformFuse

Using c3p0 by swaldman?

Get instant alerts when new vulnerabilities affect c3p0 - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8
Exploit prediction
EPSS 0.6%
SSVC
No known exploit

Description

c3p0, a JDBC Connection pooling library, is vulnerable to attack via maliciously crafted Java-serialized objects and `javax.naming.Reference` instances. Several c3p0 `ConnectionPoolDataSource` implementations have a property called `userOverridesAsString` which conceptually represents a `Map<String,Map<String,String>>`. Prior to v0.12.0, that property was maintained as a hex-encoded serialized object. Any attacker able to reset this property, on an existing `ConnectionPoolDataSource` or via maliciously crafted serialized objects or `javax.naming.Reference` instances could be tailored execute unexpected code on the application's `CLASSPATH`. The danger of this vulnerability was strongly magnified by vulnerabilities in c3p0's main dependency, mchange-commons-java. This library includes code that mirrors early implementations of JNDI functionality, including ungated support for remote `factoryClassLocation` values. Attackers could set c3p0's `userOverridesAsString` hex-encoded serialized objects that include objects "indirectly serialized" via JNDI references. Deserialization of those objects and dereferencing of the embedded `javax.naming.Reference` objects could provoke download and execution of malicious code from a remote `factoryClassLocation`. Although hazard presented by c3p0's vulnerabilites are exarcerbated by vulnerabilities in mchange-commons-java, use of Java-serialized-object hex as the format for a writable Java-Bean property, of objects that may be exposed across JNDI interfaces, represents a serious independent fragility. The `userOverridesAsString` property of c3p0 `ConnectionPoolDataSource` classes has been reimplemented to use a safe CSV-based format, rather than rely upon potentially dangerous Java object deserialization. c3p0-0.12.0+ and above depend upon mchange-commons-java 0.4.0+, which gates support for remote `factoryClassLocation` values by configuration parameters that default to restrictive values. c3p0 additionally enforces the new mchange-commons-java `com.mchange.v2.naming.nameGuardClassName` to prevent injection of unexpected, potentially remote JNDI names. There is no supported workaround for versions of c3p0 prior to 0.12.0.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

Vendor states this is fixed in 3.2 (unaffected)
Vendor states this is fixed in 0:6.6.48-1.Final_redhat_00001.1.el8eap (unaffected)
Vendor states this is fixed in 0:6.6.48-1.Final_redhat_00001.1.el9eap (unaffected)
Vendor states this is fixed in 8.1 (unaffected)
Vendor states this is fixed in 0:4.6.6-1.el9sat (unaffected)
Vendor states this is fixed in 6 (unaffected)
Vendor states this is fixed in 3 (unaffected)
v < 0.12.0
Affected range stops below 0.12.0, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

References (14)

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

8HIGHredhat-SADP
Attack Vector
ADJACENT_NETWORK
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-502CWE-94

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card