Después de las dos vulnerabilidades
importantes anunciadas en los últimos días, se confirma otra nueva
vulnerabilidad en los dispositivos Android. Or Peles (@peles_o) y Roee Hay
(@roeehay) del equipo de seguridad X-Force de IBM han publicado los detalles en
un documento titulado "Una clase para gobernarlos a todos" ya que
solo encontraron una clase con una vulnerabilidad de serialización en la
plataforma Android, la 'OpenSSLX509Certificate', pero fue suficiente para tomar
el control del dispositivo.
Detalle de la vulnerabilidad
- El equipo aprovechó el problema para reemplazar una aplicación existente en el dispositivo atacado por otra con todos los privilegios. De esta forma podría permitir robar datos, evitar la política SElinux, o ejecutar código arbitrario.
- Se le ha asignado el CVE-2015-3825, según el informe de IBM el problema afecta a Android 4.3 a 5.1 (Jelly Bean, KitKat y Lollipop), incluyendo también a la primera preview de la próxima versión de Android M. Según IBM esto se cifra en un 55% de los dispositivos Android.
- El equipo de IBM partía de la idea de que si encontraban una clase serializable, que en su método 'finalize' liberara algún objeto nativo cuyo puntero estuviera controlado podrían conseguir ejecutar código en el contexto de la aplicación o servicio. Su investigación se centró en encontrar clases vulnerables en el framework Android y en SDKs de terceras partes.
- Tras analizar las 13.321 clases disponibles en el framework de un Android 5.1.1 Nexus 5 solo la clase 'OpenSSLX509Certificate' cumplía todos los requisitos para llevar a cabo el ataque de forma exitosa.
- Después de buscar en el framework de Android, pasaron a analizar 32.701 aplicaciones Android populares de los desarrolladores más conocidos para buscar otras clases que pudieran ser vulnerables.
- Encontraron un total de 358 clases en 176 APKs que cumplían su criterio (serializable con un método 'finalize' y un campo controlable por el atacante). Finalmente enumeran 6 SDKs vulnerables:
- Jumio (CVE-2015-2000)
- MetaIO (CVE-2015-2001)
- PJSIP PJSUA2 (CVE-2015-2003)
- GraceNote GNSDK (CVE-2015-2004)
- MyScript (CVE-2015-2020)
- esri ArcGis (CVE-2015-2002)
Los investigadores de
IBM comunicaron los problemas a Google y a los desarrolladores de los SDKs
afectados.
Recomendación
- Google ha publicado parches para Android 5.1 y 5.0 y ha portado el parche a Android 4.4. La actualización también está disponible en Android M. Esperemos que les llegue pronto a los usuarios. Igualmente los desarrolladores de SDKs también han publicado parches para los problemas.
- One Class to Rule Them All: New Android Serialization Vulnerability Gives Underprivileged Apps Super Status https://securityintelligence.com/one-class-to-rule-them-all-new-android-serialization-vulnerability-gives-underprivileged-apps-super-status/#.Vct91pdW_d4
- One class to rule them all 0-Day desiariliazation vulnerabilities in Android https://www.usenix.org/system/files/conference/woot15/woot15-paper-peles.pdf