CVE-2026-55223: CWE-502: Deserialization of Untrusted Data in swaldman c3p0
c3p0 is a JDBC Connection pooling library. In versions prior to 0.14.0, c3p0 in combination with other libraries, can compose to a "sink" for deserialization gadgets. The JDBC spec's DataSource.getConnection() and ConnectionPoolDataSource.getPooledConnection() match the getXXX() form, so JavaBean libraries treat them as "properties" assumed safe while they actually call into JDBC drivers. Attackers can thus craft malicious DataSource objects whose property lookups invoke vulnerable drivers, then smuggle them in serialized form to where an application deserializes and auto-resolves bean properties — triggering the attack. This requires a susceptible DataSource/ConnectionPoolDataSource and JDBC driver on the CLASSPATH, plus a carrier that auto-looks-up JavaBean properties on = deserialization, most commonly a collection paired with an Apache commons-beanutils Comparator that sorts by bean properties. c3p0 supplied that susceptible DataSource/ConnectionPoolDataSource, which was an essential component of the trigger. This issue has been fixed in version 0.14.0.
AI Analysis
Technical Summary
The vulnerability in c3p0 (prior to 0.14.0) involves unsafe deserialization of untrusted data due to the library supplying a susceptible DataSource/ConnectionPoolDataSource. JavaBean libraries treat getXXX() methods as safe properties, but in this case, they invoke JDBC driver code during deserialization property resolution. Attackers can exploit this by crafting malicious serialized DataSource objects that, when deserialized in an environment with vulnerable JDBC drivers and auto-resolving JavaBean property mechanisms (e.g., Apache commons-beanutils Comparator), trigger deserialization gadget chains. This can lead to potential remote code execution or other impacts depending on the JDBC driver vulnerabilities. The issue is addressed by updating c3p0 to version 0.14.0 or later.
Potential Impact
Successful exploitation requires a vulnerable c3p0 version (<0.14.0), a susceptible DataSource or ConnectionPoolDataSource, a vulnerable JDBC driver on the classpath, and a deserialization process that auto-resolves JavaBean properties. The impact includes potential execution of deserialization gadgets leading to unauthorized code execution or other malicious behavior. The CVSS 4.0 base score is 6.3 (medium severity), reflecting network attack vector, low complexity, partial attack and user interaction requirements, and limited confidentiality, integrity, and availability impacts.
Mitigation Recommendations
A fix is available by upgrading c3p0 to version 0.14.0 or later. Users should update to this version to remediate the vulnerability. No other vendor advisory or temporary fixes are provided. Patch status is confirmed by the vendor stating the issue is fixed in 0.14.0.
CVE-2026-55223: CWE-502: Deserialization of Untrusted Data in swaldman c3p0
Description
c3p0 is a JDBC Connection pooling library. In versions prior to 0.14.0, c3p0 in combination with other libraries, can compose to a "sink" for deserialization gadgets. The JDBC spec's DataSource.getConnection() and ConnectionPoolDataSource.getPooledConnection() match the getXXX() form, so JavaBean libraries treat them as "properties" assumed safe while they actually call into JDBC drivers. Attackers can thus craft malicious DataSource objects whose property lookups invoke vulnerable drivers, then smuggle them in serialized form to where an application deserializes and auto-resolves bean properties — triggering the attack. This requires a susceptible DataSource/ConnectionPoolDataSource and JDBC driver on the CLASSPATH, plus a carrier that auto-looks-up JavaBean properties on = deserialization, most commonly a collection paired with an Apache commons-beanutils Comparator that sorts by bean properties. c3p0 supplied that susceptible DataSource/ConnectionPoolDataSource, which was an essential component of the trigger. This issue has been fixed in version 0.14.0.
CVSS v4.0
Score 6.3medium
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in c3p0 (prior to 0.14.0) involves unsafe deserialization of untrusted data due to the library supplying a susceptible DataSource/ConnectionPoolDataSource. JavaBean libraries treat getXXX() methods as safe properties, but in this case, they invoke JDBC driver code during deserialization property resolution. Attackers can exploit this by crafting malicious serialized DataSource objects that, when deserialized in an environment with vulnerable JDBC drivers and auto-resolving JavaBean property mechanisms (e.g., Apache commons-beanutils Comparator), trigger deserialization gadget chains. This can lead to potential remote code execution or other impacts depending on the JDBC driver vulnerabilities. The issue is addressed by updating c3p0 to version 0.14.0 or later.
Potential Impact
Successful exploitation requires a vulnerable c3p0 version (<0.14.0), a susceptible DataSource or ConnectionPoolDataSource, a vulnerable JDBC driver on the classpath, and a deserialization process that auto-resolves JavaBean properties. The impact includes potential execution of deserialization gadgets leading to unauthorized code execution or other malicious behavior. The CVSS 4.0 base score is 6.3 (medium severity), reflecting network attack vector, low complexity, partial attack and user interaction requirements, and limited confidentiality, integrity, and availability impacts.
Mitigation Recommendations
A fix is available by upgrading c3p0 to version 0.14.0 or later. Users should update to this version to remediate the vulnerability. No other vendor advisory or temporary fixes are provided. Patch status is confirmed by the vendor stating the issue is fixed in 0.14.0.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-06-16T16:16:32.628Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a444c3a27e9c7971985d6bc
Added to database: 06/30/2026, 23:07:38 UTC
Last enriched: 06/30/2026, 23:23:37 UTC
Last updated: 06/30/2026, 23:37:04 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.