lunes, 21 de enero de 2013

Tres titulares tras el parche de Java


Aún no se ha asentado el polvo que levantó el último 0-day en Java y su posterior parche, cuando desde varios frentes ya se están dando detalles de nuevos problemas y vulnerabilidades. Incluso ha sido probado que esta última actualización no soluciona correctamente el fallo. Tres problemáticos "titulares" para Oracle después de la rápida respuesta al último incidente y sus medidas contra los applets no firmados.

Nuevo exploit de Java se vende por 5.000 dolares

Por un lado, Brian Krebs anunciaba en su blog, solo un día después de la publicación del parche, que en un foro privado ya se estaba vendiendo un exploit para una vulnerabilidad desconocida de Java. Según Krebs, el conocido administrador del foro ofrecía a un segundo comprador (ya había sido vendido un vez) una copia del exploit. Este se ofrecía tanto en código fuente como listo para ser usado. El precio era de 5.000 dolares. Se aseguraba que el exploit era funcional con la última versión de Java publicada el día anterior y que además era exclusivo, ya que no se encontraba en ningún kit de exploits.

Poco después, según Krebs, el mensaje fue eliminado. Tampoco existen pruebas de concepto conocidas para este supuesto exploit, así que hay que tomar la noticia con cautela.

Confirmado: Java solo ha solucionado uno de los bugs

Tal y como ha sido analizado por varios investigadores, y según define la vulnerabilidad el NIST (CVE-2013-0422), el exploit de Java que se encontró utilizaba dos fallos de diseño para ejecutarse. En primer lugar, hace uso del método público getMbeanInstantiator para obtener una referencia a objetos MbeanInstantiator privados. Después, a través del método findClass, acceder a clases en teoría restringidas.

Posteriormente, utilizaba la API de Reflection de forma recursiva para aprovechar un fallo en la limpieza en la pila de llamadas (como ha sido analizado recientemente) y poder crear las instancias de las clases obtenidas en el paso anterior.

Tras la publicación del parche, el equipo de Immunity realizó un análisis del código corregido, y ha comprobado que el primero de los pasos todavía puede llevarse a cabo. Oracle solo ha bloqueado el sistema para eludir las restricciones de Java, dejando el problema de carga de clases restringidas en el código. En el post publican una prueba de concepto que permite cargar, a través del proceso descrito, clases restringidas arbitrarias en la última versión de Java.

Este fallo no es explotable de por sí, pero combinado con otra vulnerabilidad que permitiera eludir las restricciones de Java significaría que podría seguir explotándose como hasta ahora.

Además aclaran por qué, al contrario que se afirmaba al principio, el fallo no puede explotarse en la versión 6 de Java.

Java 7 Update 11 es vulnerable

Y lo dice Adam Gowniak, el CEO de Security Explorations, que ha descubierto 49 vulnerabilidades en Java durante 2012. En un mensaje a la lista de correo Full Disclosure, asegura que se han encontrado dos nuevas vulnerabilidades que permiten el salto de la sandbox en la última versión de Java. Identificadas como fallos 51 y 52, ya han sido reportadas a Oracle junto con pruebas de concepto funcionales, y están siendo investigadas por la compañía.

Aunque no ha dado detalles técnicos, asegura que no están relacionadas con el fallo en MbeanInstantiator descrito arriba, pero sí "inspiradas" en el.

Más información:

New Java Exploit Fetches $5,000 Per Buyer

Confirmed: Java only fixed one of the two bugs.

CVE-2013-0422 – aka: Java 2013 0day 1 – and inofficial patch

[SE-2012-01] Java 7 Update 11 confirmed to be vulnerable

Vulnerability Note VU#625617


 Francisco López

No hay comentarios:

Publicar un comentario en la entrada