Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
5Blast Radius
ecosystem impact- 8 maven packages depend on org.apache.mina:mina-core (8 direct, 0 indirect)
Ecosystem-wide dependent count for version 2.0.0.
DescriptionCVE.org
The fix for CVE-2024-52046 in Apache MINA AbstractIoBuffer.getObject() was incomplete. The classname allowlist of classes allowed to be deserialized was applied too late after a static initializer in a class to be read might already have been executed.
Affected versions are Apache MINA 2.0.0 <= 2.0.27, 2.1.0 <= 2.1.10, and 2.2.0 <= 2.2.5.
The problem is resolved in Apache MINA 2.0.28, 2.1.11, and 2.2.6 by applying the classname allowlist earlier.
Affected are applications using Apache MINA that call IoBuffer.getObject().
Applications using Apache MINA are advised to upgrade
AnalysisAI
Remote unauthenticated attackers can execute arbitrary code in Apache MINA 2.0.0-2.0.27, 2.1.0-2.1.10, and 2.2.0-2.2.5 through unsafe deserialization in AbstractIoBuffer.getObject(). This is an incomplete fix bypass for CVE-2024-52046 where the classname allowlist validation occurs after static initializers execute, enabling attackers to trigger malicious code execution before security controls engage. Apache confirmed the flaw affects applications calling IoBuffer.getObject() and released patches in versions 2.0.28, 2.1.11, and 2.2.6. CVSS 9.8 critical score reflects network-accessible unauthenticated exploitation with complete system compromise potential.
Technical ContextAI
Apache MINA (Multipurpose Infrastructure for Network Applications) is a Java network application framework providing async event-driven I/O capabilities. The vulnerability resides in AbstractIoBuffer.getObject(), which performs Java object deserialization from network input buffers. CWE-502 (Deserialization of Untrusted Data) identifies the root cause: Java deserialization automatically invokes static initializers and readObject() methods during class loading, before application-level validation can occur. The original CVE-2024-52046 fix attempted to implement a classname allowlist, but this incomplete patch applied filtering after the ClassLoader already loaded and initialized classes. Attackers can craft serialized payloads containing classes with malicious static blocks that execute during deserialization, bypassing the allowlist entirely. The corrected implementation in 2.0.28/2.1.11/2.2.6 applies allowlist validation during the class resolution phase, before ClassLoader initialization.
RemediationAI
Upgrade immediately to Apache MINA 2.0.28, 2.1.11, or 2.2.6 depending on your deployed branch - vendor-released patches available per Apache advisory at https://lists.apache.org/thread/9ddvsq6c4l5bhwq8l14sob4f8qjvx5c9. If immediate patching is not feasible, implement these compensating controls with noted trade-offs: (1) Remove all IoBuffer.getObject() calls from application code and replace with explicit safe parsing logic - requires code refactoring but eliminates vulnerability surface entirely; (2) Deploy network segmentation to restrict MINA listener endpoints to trusted clients only - reduces attack surface but does not prevent exploitation by compromised internal systems; (3) Implement Java Security Manager policies blocking ObjectInputStream usage - may break legitimate application functionality and requires extensive testing. Note that the previous CVE-2024-52046 patch does NOT protect against this bypass, so staying on 2.0.27/2.1.10/2.2.5 provides no security benefit over earlier versions.
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-25809
GHSA-f2wh-grmh-r6jm