c3p0 vulnerable to Remote Code Execution via unsafe deserialization of userOverridesAsString property
Key facts
- Attack vector
- Adjacent network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 8 fixed, 7 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-502.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| swaldman | c3p0 | before 0.12.0 | 0.12.0 | Patch available | CNA |
| — | com.mchange:c3p0 (Maven) | before 0.12.0 | 0.12.0 | Patch available | GHSA-5476-xc4j-rqcv |
- c3p0 Vendorswaldman Affected before 0.12.0 Fixed in 0.12.0 Patch available CNA
- com.mchange:c3p0 (Maven) Vendor— Affected before 0.12.0 Fixed in 0.12.0 Patch available GHSA-5476-xc4j-rqcv
Remediation
- Fix · CNA c3p0 (swaldman) Fixed in 0.12.0
- Fix · GHSA-5476-xc4j-rqcv com.mchange:c3p0 (Maven) Fixed in 0.12.0 Advisory →
Red Hat 8 advisories
- RHSA-2026:73976 Released 2026-09-30 · Red Hat rating ImportantRed Hat JBoss Enterprise Application Platform 7.1.16 security update
- Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7 Server eap7-hibernate-5.1.17-5.Final_redhat_00006.1.ep7.el7, eap7-hibernate-core-5.1.17-5.Final_redhat_00006.1.ep7.el7, eap7-hibernate-entitymanager-5.1.17-5.Final_redhat_00006.1.ep7.el7 +7
- RHSA-2026:73644 Released 2026-09-30 · Red Hat rating ImportantRed Hat JBoss Enterprise Application Platform 7.3.19 Update
- Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7 Server eap7-hibernate-5.3.39-1.Final_redhat_00001.1.el7eap, eap7-hibernate-core-5.3.39-1.Final_redhat_00001.1.el7eap, eap7-hibernate-entitymanager-5.3.39-1.Final_redhat_00001.1.el7eap +31
- RHSA-2026:28385 Released 2026-06-23 · Red Hat rating ImportantSatellite 6.18.6 Async Update
- Red Hat Satellite 6.18 for RHEL 9 candlepin-4.6.6-1.el9sat, candlepin-selinux-4.6.6-1.el9sat, dynflow-utils-2.0.1-1.el9sat +1
Show 5 more Red Hat advisories
- RHSA-2026:18054 Released 2026-05-18 · Red Hat rating ImportantRed Hat JBoss Enterprise Application Platform 8.1.6 security update
- Red Hat JBoss EAP 8.1 for RHEL 8 eap8-activemq-artemis-2.40.0-6.redhat_00012.1.el8eap, eap8-activemq-artemis-cli-2.40.0-6.redhat_00012.1.el8eap, eap8-activemq-artemis-commons-2.40.0-6.redhat_00012.1.el8eap +47
- RHSA-2026:18055 Released 2026-05-18 · Red Hat rating ImportantRed Hat JBoss Enterprise Application Platform 8.1.6 security update
- Red Hat JBoss EAP 8.1 for RHEL 9 eap8-activemq-artemis-2.40.0-6.redhat_00012.1.el9eap, eap8-activemq-artemis-cli-2.40.0-6.redhat_00012.1.el9eap, eap8-activemq-artemis-commons-2.40.0-6.redhat_00012.1.el9eap +47
- RHSA-2026:18059 Released 2026-05-18 · Red Hat rating ImportantRed Hat JBoss Enterprise Application Platform 8.1.6 security update
- Red Hat JBoss Enterprise Application Platform 8.1.6.GA io.netty.netty-codec-http-4.1.132.Final-redhat-00001.jar, org.apache.activemq.artemis-server-2.40.0.redhat-00012.jar, org.bouncycastle.bcpkix-jdk18on-1.84.0.redhat-00001.jar +7
- RHSA-2026:4285 Released 2026-03-11 · Red Hat rating ImportantRed Hat build of Debezium 3.2.7 release
- Red Hat Build of Debezium 3.2
- RHSA-2026:3890 Released 2026-03-05 · Red Hat rating ImportantRed Hat Build of Apache Camel 4.14.4 for Spring Boot release.
- Red Hat build of Apache Camel 4.14.4 for Spring Boot 3.5.11
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Fuse 7 | Affected | No fix planned: Will not fix |
| Red Hat JBoss Enterprise Application Platform 7 | Affected | No fix planned: Will not fix |
| Red Hat JBoss Enterprise Application Platform 8 | Affected | No fix yet |
| Red Hat Satellite 6 | Affected | No fix yet |
| Red Hat build of Debezium 2 | Affected | No fix yet |
| Red Hat build of Debezium 3 | Affected | No fix yet |
| streams for Apache Kafka 2 | Affected | No fix planned: Will not fix |
| Red Hat Build of Debezium 3.2 | Fixed | RHSA-2026:4285 |
| Red Hat JBoss EAP 8.1 for RHEL 8 | Fixed | RHSA-2026:18054 |
| Red Hat JBoss EAP 8.1 for RHEL 9 | Fixed | RHSA-2026:18055 |
| Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7 Server | Fixed | RHSA-2026:73976 |
| Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7 Server | Fixed | RHSA-2026:73644 |
| Red Hat JBoss Enterprise Application Platform 8.1.6.GA | Fixed | RHSA-2026:18059 |
| Red Hat Satellite 6.18 for RHEL 9 | Fixed | RHSA-2026:28385 |
| Red Hat build of Apache Camel 4.14.4 for Spring Boot 3.5.11 | Fixed | RHSA-2026:3890 |
Not affected: 10 products
- Red Hat JBoss EAP 8.1 for RHEL 8
- Red Hat JBoss EAP 8.1 for RHEL 9
- Red Hat JBoss Enterprise Application Platform 8
- Red Hat JBoss Enterprise Application Platform 8.1.6.GA
- Red Hat JBoss Enterprise Application Platform Expansion Pack
- Red Hat Process Automation 7
- Red Hat Satellite 6
- Red Hat Satellite 6.18 for RHEL 9
- Red Hat build of Apache Camel - HawtIO 4
- streams for Apache Kafka 3
Timeline
- 2026-10-02 Threatist record created from CVE-2026-27830
- 2026-10-03 Alias added: GHSA-5476-xc4j-rqcv
- 2026-10-09 Fix available: RHSA-2026:4285 · Red Hat
- 2026-10-10 Fix available: Red Hat Build of Debezium 3.2 · Red Hat
- 2026-10-16 Fix available: Red Hat JBoss Enterprise Application Platform 8.1 · Red Hat
- 2026-10-20 Fix available: Red Hat JBoss Enterprise Application Platform 8.1.6.GA · Red Hat
- 2026-10-25 EPSS moved to the below the 50th percentile
References
Other 6
- https://github.com/swaldman/c3p0/security/advisories/GHSA-5476-xc4j-rqcv
- https://github.com/swaldman/c3p0/commit/e14cbd8166e423e2e9a9d6f08b2add3433492d6e
- https://mogwailabs.de/en/blog/2025/02/c3p0-you-little-rascal
- https://www.mchange.com/projects/c3p0/#configuring_security
- https://www.mchange.com/projects/c3p0/#security-note
- https://github.com/swaldman/c3p0
More swaldman vulnerabilities
- TI-2026-39900 c3p0 exposes a deserialization "sink" via JDBC DataSource bean properties CVSS 4.0MEDIUM 6.3
- TI-2026-39844 mchange-commons-java contains elements susceptible to abuse via JNDI injection and "deserialization gadgets" CVSS 3.1HIGH 7.1
Sources
- CVE-2026-27830 · CVE Program
- CVE-2026-27830 · NVD
- FIRST EPSS
- GHSA-5476-xc4j-rqcv · GitHub Advisory Database · CC BY 4.0
- CVE-2026-27830 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences