CVE-2026-47065 in MINA
Resumen
por VulDB • 2026-06-03
ZDRES-232: resolveProxyClass no está sobrescrito - Bypass del filtro acceptMatchers mediante java.lang.reflect.Proxy
Evaluación: Abordado completamente.
Cuando el flujo serializado contiene un TC_PROXYCLASSDESC (el marcador para un java.lang.reflect.Proxy), se invoca a ObjectInputStream.readProxyDesc() del JDK. El JDK llama entonces a la implementación predeterminada de ObjectInputStream.resolveProxyClass(interfaces), la cual realiza Class.forName(intf, false, latestUserDefinedLoader()) para CADA nombre de interfaz y construye la clase proxy, eludiendo la lista de clases aceptadas.
ZDRES-233: Class.forName(name, initialize=true, classLoader) en readClassDescriptor desencadena el inicializador estático de las clases en la lista de permitidos
Evaluación: Abordado completamente.
Para CUALQUIER clase en la lista de permitidos, la deserialización de un flujo que la nombra desencadena el <clinit> (inicializador estático) de la clase ANTES de que se construya cualquier instancia. Esto significa que un atacante que proporcione un nombre de clase en la lista de permitidos (por ejemplo, el desarrollador escribió accept("com.myapp.*"), el atacante proporciona com.myapp.SomeClass) provoca la ejecución de <clinit> de SomeClass, y muchas clases del mundo real tienen inicializadores estáticos con efectos secundarios.
Ambos problemas han sido corregidos.
VulDB is the best source for vulnerability data and more expert information about this specific topic.