oss-sec mailing list archives

ZDRES-059: CVE-2026-41635: Apache MINA: AbstractIoBuffer.resolveClass() null-clazz Branch Skips acceptMatchers Filter — Full Object Deserialization RCE


From: Emmanuel Lécharny <elecharny () apache org>
Date: Mon, 27 Apr 2026 08:23:45 +0000

Severity: 

Affected versions:

- Apache MINA (org.apache.mina:mina-core) 2.2.0 through 2.2.5
- Apache MINA (org.apache.mina:mina-core) 2.1.0 through 2.1.10
- Apache MINA (org.apache.mina:mina-core) 2.0.0 through 2.0.27

Description:

Apache MINA's AbstractIoBuffer.resolveClass() contains two branches, one of them (for static classes or primitive 
types) does not check the class at all, bypassing the classname allowlist and allowing arbitrary code to be executed.




The fix checks if the class is present in the accepted class filter before calling Class.forName(). 






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.

Credit:

Venkatraman Kumar, Securin (reporter)

References:

https://mina.apache.org/
https://www.cve.org/CVERecord?id=CVE-2026-41635

Timeline:

2026-04-17: Initial reporting


Current thread: