# CVE-2026-27727: mchange-commons-java — Fixed in 0.4.0

☕ Maven

Not in CISA KEV

# CVE-2026-27727 — mchange-commons-java

CVE-2026-27727 is a CWE-74 vulnerability in com.mchange:mchange-commons-java. A fix is available for com.mchange:mchange-commons-java — see the affected versions and patch details below.

mchange-commons-java: Remote Code Execution via JNDI Reference Resolution

Also known as[GHSA-m2cm-222f-qw44](/vulnerability/GHSA-m2cm-222f-qw44)

Published

Feb 25, 2026

Updated

Oct 28, 2026

Affected

1 pkg

Patched

1 / 1

Exploits

None indexed

Exploitation data as of Nov 10, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

## Exploitation Status

### Proof-of-concept exploit code exists

-   CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
-   A successful exploit gives an attacker total control of the affected component, not partial access.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-27727.

## EPSS Exploitation Probability

[via FIRST.org ↗](https://www.first.org/epss/)

1.0%probability of exploitation in next 30 days

Lower Risk0.00%

Lower risk than most CVEs62th percentile — riskier than 62% of all scored CVEsHighest risk

0.00%0.70%1.39%2.08%0.1%1.0%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from [FIRST.org EPSS](https://www.first.org/epss/).

## Real-World Exposure

1 pkg affected

☕`com.mchange:mchange-commons-java`

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.

## Description

#### Impact

mchange-commons-java includes code that mirrors early implementations of JNDI functionality, including support for remote `factoryClassLocation` values, by which code can be downloaded and invoked within a running application. If an attacker can provoke an application to read a maliciously crafted `jaxax.naming.Reference` or serialized object, they can provoke the download and execution of malicious code.

Implementations of this functionality within the JDK were disabled by default behind a System property that defaults to `false`, `com.sun.jndi.ldap.object.trustURLCodebase`. However, since mchange-commons-java includes an independent implementation of JNDI derefencing, libraries (such as c3p0) that resolve references via that implementation could be provoked to download and execute malicious code even after the JDK was hardened.

#### Patches

Mirroring the JDK patch, mchange-commons-java's JNDI functionality is now gated by configuration parameters that default to restrictive values. Those parameters are documented [here](https://www.mchange.com/projects/c3p0/#configuring_security).

#### Workarounds

No. Users should upgrade to mchange-commons-java >= 0.4.0. Earlier versions should be avoided on application CLASSPATHs.

#### References

[c3p0, you little rascal — Hans-Martin Münch](https://mogwailabs.de/en/blog/2025/02/c3p0-you-little-rascal/) [c3p0 documentation, security note](https://www.mchange.com/projects/c3p0/#security-note) [c3p0 documentation, configuring security](https://www.mchange.com/projects/c3p0/#configuring_security)

## Affected Packages

1 total 1 fixed

Ecosystem

Package

Vulnerable range

Fix

☕Maven

`com.mchange:mchange-commons-java` 

all versions

0.4.0`com.mchange:mchange-commons-java:0.4.0`

## Affected Products

1 product · 1 configurations

Application

`mchange commons java`mchange

< 0.4.0

range

## Detection & mitigation playbook

Open-source dependency

1.  ### Detect
    
    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for com.mchange:mchange-commons-java, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
    
2.  ### Fix
    
    Update com.mchange:mchange-commons-java to 0.4.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-27727 is resolved across your whole dependency graph.
    
3.  ### Workarounds
    
    Do not deserialise data from untrusted sources: where the format allows it, restrict deserialisation to an explicit allowlist of expected types, and prefer a data-only format (JSON, Protobuf) over one that can reconstruct arbitrary objects until you can upgrade.
    

## Fixing This On Your OS

If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.

Red HatImportant

Workaround published by Red Hat

> Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

Source: [Red Hat security advisory for CVE-2026-27727](https://access.redhat.com/security/cve/cve-2026-27727) (CC BY 4.0)

Product

Fixed in

Advisory

Red Hat build of Apache Camel 4.14.4 for Spring Boot 3.5.11

`mchange-commons-java`

[RHSA-2026:3890](https://access.redhat.com/errata/RHSA-2026:3890)

Red Hat Build of Debezium 3.2

`mchange-commons-java`

[RHSA-2026:4285](https://access.redhat.com/errata/RHSA-2026:4285)

Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7

`eap7-hibernate-0:5.1.17-5.Final_redhat_00006.1.ep7.el7`

[RHSA-2026:73976](https://access.redhat.com/errata/RHSA-2026:73976)

Red Hat JBoss Enterprise Application Platform 7.3 EUS for RHEL 7

`eap7-hibernate-0:5.3.39-1.Final_redhat_00001.1.el7eap`

[RHSA-2026:73644](https://access.redhat.com/errata/RHSA-2026:73644)

Red Hat JBoss Enterprise Application Platform 8.1.6.GA

`org.hibernate.orm/hibernate-core:6.6.48.Final-redhat-00001`

[RHSA-2026:18059](https://access.redhat.com/errata/RHSA-2026:18059)

Red Hat JBoss Enterprise Application Platform 8.1 for RHEL 8

`eap8-hibernate-0:6.6.48-1.Final_redhat_00001.1.el8eap`

[RHSA-2026:18054](https://access.redhat.com/errata/RHSA-2026:18054)

Red Hat JBoss Enterprise Application Platform 8.1 for RHEL 9

`eap8-hibernate-0:6.6.48-1.Final_redhat_00001.1.el9eap`

[RHSA-2026:18055](https://access.redhat.com/errata/RHSA-2026:18055)

Red Hat Satellite 6.16 for RHEL 8

`candlepin-0:4.4.25-1.el8sat`

[RHSA-2026:14874](https://access.redhat.com/errata/RHSA-2026:14874)

UbuntuHIGH

[USN-8642-1Ubuntu](https://ubuntu.com/security/notices/USN-8642-1)

## Frequently Asked Questions

\### Impact mchange-commons-java includes code that mirrors early implementations of JNDI functionality, including support for remote \`factoryClassLocation\` values, by which code can be downloaded and invoked within a running application. If an attacker can provoke an application to read a maliciously crafted \`jaxax.naming.Reference\` or serialized object, they can provoke the download and execution of malicious code. Implementations of this functionality within the JDK were disabled by default behind a System property that defaults to \`false\`, \`com.sun.jndi.ldap.object.trustURLCodebase\`. Howev

O3 Security · Impact-Aware SCA

### Is CVE-2026-27727 in your dependencies?

Find it across Maven, including transitive dependencies.

[Scan my dependencies](/book-demo) [How O3 SCA works](/impact-aware-sca)