Falta de validación de certificados SSL en la aplicación MercadoLibre para Android

1. Información del reporte

Título: Falta de validación de certificados SSL en la aplicación MercadoLibre para Android
Reporte ID: STIC-2014-0211
Reporte URL: http://www.fundacionsadosky.org.ar/publicaciones-2
Fecha de publicación: 2014-11-10
Fecha de última actualización: 2014-10-27
Fabricantes contactados: Mercadolibre (NASDAQ:MELI)
Modo de publicación: Coordinado

2. Información de vulnerabilidades

Clase: Incorrecta validación de la cadena de confianza de un certificado. [CWE-296]
Impacto: Perdida de datos
Remotamente explotable: Yes
Localmente explotable: No
Identificador CVE: CVE-2014-5658

3. Descripción de vulnerabilidad

MercadoLibre (NASDAQ:MELI) es una empresa de comercio en línea focalizada en el comercio electrónico y servicios relacionados par América Latina. Según datos de la empresa[1], MercadoLibre es el ecosistema de comercio electrónico mas grande de Latinoamérica con la oferta de una amplia gama de servicios para compradores y vendedores de la región que incluye mercado en línea, sistema de pagos, publicidad y construcción de soluciones en línea. Opera en 13 países, incluyendo Argentina, Brasil, Chile, Colombia, México, Perú y Venezuela.

La empresa da servicio con un conjunto de aplicaciones web específicas por país y una aplicación para dispositivos móviles Android disponible para descarga en Brasil, Chile, Colombia, Costa Rica, Ecuador, México, Panamá, Perú, Portugal, República Dominicana, Uruguay y Venezuela. A la fecha de publicación de este boletín de seguridad (Noviembre, 2014) la aplicación tiene entre 10 y 50 millones de instalaciones según datos de Play, el mercado de aplicaciones de Google[2].

Las versiones vulnerables de la aplicación de MercadoLibre para Android no verifican que el certificado SSL presentado por el servidor sea válido. Como resultado de ello, es posible realizar ataques de intermediación (Man-in-the-Middle) al tráfico entre la aplicación y el servidor utilizando certificados SSL fraguados y capturar información sensible del usuario, como el nombre de usuario y clave de su cuenta en MercadoLibre o los datos de las tarjetas de crédito que usa.

El problema fue solucionado por el fabricante en la última versión de la aplicación. Se recomienda a los usuarios que actualicen la aplicación que tienen instalada lo mas pronto posible.

4. Paquetes vulnerables

5. Información y soluciones del fabricante

MercadoLibre confirmó y arregló la vulnerabilidad en la versión 3.10.6 cuando actualizaron la biblioteca de LoopJ utilizada. En nuevas versiones de dicha biblioteca no se saltea por defecto al proceso de validación de certificados.

Para determinar que versión de la aplicación tiene instalada en su dispositivo de Android, puede ir a "Ajustes|Aplicaciones" y luego hacer click en "MercadoLibre".

6. Créditos

Las vulnerabilidades fueron descubiertas e investigadas por Joaquín Manuel Rinaudo. La publicación de este reporte fue coordinada por Programa de Seguridad en TIC. Will Dormann de CERT/CC descubrió de forma independiente el problema de validación de certificados SSL utilizando la herramienta CERT Tapioca.[5]

7. Descripción técnica

La aplicación de Android de MercadoLibre utiliza la biblioteca Android Asynchronous HTTP Client de LoopJ[3] para comunicarse con los servicios web de la empresa. Los pedidos de HTTPS destinados al servidor son enviados mediante la interfaz MLAPIClient a esta biblioteca, que es la responsable de establecer una conexión segura.

La vulnerabilidad se encuentra en la clase AsyncHttpClient dentro de la biblioteca de LoopJ que utiliza la clase FakeSocketFactory para crear nuevos sockets. Los sockets creados utilizan un X509TrustManager propio llamado FakeTrustManager. La tarea del TrustManager es verificar que los certificados SSL presentados por el servidor son válidos para evitar ataques de Man-in-the-Middle. Como FakeTrustManager se trata de una implementación vacía cualquier certificado SSL presentado se considerará válido. Esto le permite a un atacante montar un ataque de intermediación de tráfico (MITM), generando y presentando a la aplicación certificados SSL fraguados para hacerse pasar por el servidor de MercadoLibre y capturar credenciales de autenticación de los usuarios o incluso datos de las tarjetas de crédito que usan.

8. Cronología del reporte

9. Referencias

[1] About MercadoLibre http://investor.mercadolibre.com/
[2] MercadoLibre for Android https://play.google.com/store/apps/details?id=com.mercadolibre
[3] LoopJ Asyncrhonous HTTP Client https://github.com/loopj/android-async-http
[4] Programa STIC - Procedimiento de Reporte y Difusión de Vulnerabilidades http://www.fundacionsadosky.org.ar/procedimiento-stic
[5] Vulnerability Note VU#582497. Multiple Android applications fail to properly validate SSL certificates. http://www.kb.cert.org/vuls/id/582497
[6] Ley 25.326 de Protección de los Datos Personales, Argentina. http://www.jus.gob.ar/datos-personales/cumpli-con-la-ley/%C2%BFcuales-son-tus-obligaciones.aspx
[7] Fandango, Credit Karma Settle FTC Charges that They Deceived Consumers By Failing to Securely Transmit Sensitive Personal Information. http://www.ftc.gov/news-events/press-releases/2014/03/fandango-credit-karma-settle-ftc-charges-they-deceived-consumers
[8] Políticas de privacidad y confidencialidad de la información, MercadoLibre. http://ayuda.mercadolibre.com.ar/seguro_privacidad

10. Acerca Fundación Dr. Manuel Sadosky

La Fundación Dr. Manuel Sadosky es una institución público privada cuyo objetivo es favorecer la articulación entre el sistema científico – tecnológico y la estructura productiva en todo lo referido a la temática de las Tecnologías de la Información y la Comunicación (TIC). Creada a través del Decreto Nro. 678/09 del Poder Ejecutivo Nacional, la Fundación es presidida por el ministro de Ciencia, Tecnología e Innovación Productiva. Sus vicepresidentes son los presidentes de las cámaras más importantes del sector TIC: CESSI (Cámara de Empresas de Software y Servicios Informáticos) y CICOMRA (Cámara de Informática y Comunicaciones de la República Argentina). Para más información visitar: http://www.fundacionsadosky.org.ar

11. Derechos de autor

El contenido de este reporte tiene copyright (c) 2014 Fundación Sadosky y se publica bajo la licencia Creative Commons Attribution Non-Commercial Share-Alike 4.0: http://creativecommons.org/licenses/by-nc-sa/4.0/