CVE-2026-41635 PUBLISHED

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

Assigner: apache
Reserved: 21.04.2026 Published: 27.04.2026 Updated: 28.04.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8

Product Status

Vendor Apache Software Foundation
Product Apache MINA
Versions Default: unaffected
  • affected from 2.2.0 to 2.2.5 (incl.)
  • affected from 2.1.0 to 2.1.10 (incl.)
  • affected from 2.0.0 to 2.0.27 (incl.)

Credits

  • Venkatraman Kumar, Securin reporter

References

Problem Types

  • CWE-502 Deserialization of Untrusted Data CWE