CVEsApache Software FoundationCVE-2026-47065Published Jun 3, 09:39 · Updated Jun 4, 03:55 UTC
9.8
CriticalCVSS 3.1 · from apache
CVE-2026-47065

Apache MINA: Critical Deserialization Allow-list Bypass via resolveProxyClass - ZDRES-232

org.apache.mina:mina-core · Unsafe deserialization · CWE-502
Affectedorg.apache.mina:mina-core
FixUpdate to 2.2.8, 2.1.13, 2.0.29 or newer
PublishedJun 3, 09:39 · apache
ScoredJun 3 · 9.8 · apache
Exploit code publicNone known · checked 21:18 UTC
ExploitedNone known · CISA KEV checked 22:05 UTC

What we know

No known exploitation. CISA KEV, checked 22:05 UTC.
No public exploit code known. Exploit-DB, Metasploit, Nuclei, checked 21:18 UTC.
An attacker only needs network access to the target. No login needed. CVSS: network, no privileges.
A successful attack can read and change data and take the service down. CVSS: high impact on confidentiality, integrity and availability.
A successful attack gives full control of the affected system. CISA: technical impact total.

Description

ZDRES-232: resolveProxyClass Not Overridden - acceptMatchers Filter Bypass via java.lang.reflect.Proxy Assessment: Fully addressed. When the serialised stream contains a TC_PROXYCLASSDESC (the marker for a java.lang.reflect.Proxy ), JDK’s ObjectInputStream.readProxyDesc() is dispatched. JDK then calls the default ObjectInputStream.resolveProxyClass(interfaces) implementation, which performs Class.forName(intf, false, latestUserDefinedLoader()) for EACH interface name and constructs the proxy class — bypassing the accepted classes list . ZDRES-233: Class.forName(name, initialize=true, classLoader) in readClassDescriptor Triggers Static Initialiser of Allow-Listed Classes Assessment: Fully addressed. For ANY class on the allow-list, deserialising a stream that names it triggers the class’s (static initialiser) BEFORE any instance is constructed. This means an attacker who supplies a class name on the allow-list (e.g., the developer wrote accept(“com.myapp.*") , attacker supplies com.myapp.SomeClass ) causes <clinit> of SomeClass — and many real-world classes have side-effecting static initialisers Both issues have been fixed.

From apache

Affected and fixed versions

ProductAffectedFixed inorg.apache.mina:mina-core2.2.0 – before 2.2.82.2.8org.apache.mina:mina-core2.1.0 – before 2.1.132.1.13org.apache.mina:mina-core2.0.0 – before 2.0.292.0.29

Exploit code

Exploit-DBnone knownMetasploitnone knownNucleinone known

References

lists.apache.org/thread/y7xj1bl8qo47p9bktb11hg5v6k1d4dyj · lists.apache.orgvendor advisory

Other CVEs in org.apache.mina:mina-core

All 4 →
9.8Apache MINA: Unsafe Deserialization (CWE-502) in JavaNativeMessageDecoder · CVE-2026-118636Oct 319.8Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE (take 2) · CVE-2026-42779May 19.8Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE · CVE-2026-41635Apr 27