[LACNIC/Seguridad] Falta de validación de certificados SSL en la aplicación MercadoLibre para Android [STIC-2014-0211]

Programa STIC stic en fundacionsadosky.org.ar
Mie Nov 12 02:36:11 BRST 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

	Fundación Dr. Manuel Sadosky - Programa STIC Advisory
		www.fundacionsadosky.org.ar

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: Pérdida de datos
Remotamente explotable: Si
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*

   . Aplicaciones de Android de MercadoLibre anteriores a la versión
3.10.6.

5. *Información y soluciones del fabricante*

    MercadoLibre confirmó y arregló la vulnerabilidad en la versión
3.10.6 cuando actualizaron la librería loopj utilizada. En nuevas
versiones de dicha librería 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 ser
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*

. 2014-09-02:
        Primer contacto con el fabricante. Se pide información de
contacto para reportar problemas de seguridad del software.

. 2014-09-09:
        Se recibe información de contacto para problemas de seguridad.

. 2014-09-09:
	Programa de Seguridad en TIC envía al fabricante una descripción de
la vulnerabilidad e informa que el equipo de CERT/CC de EEUU[5]
publicó un documento con un listado  de aplicaciones que no validan
correctamente certificados SSL en el que figura la aplicación de
MercadoLibre por lo que la vulnerabilidad ya es de conocimiento público.

. 2014-09-09:
        El fabricante reconoce la existencia del problema y asegura
que esta trabajando para solucionarlo.

. 2014-09-09:
	Programa de Seguridad en TIC describe el proyecto de investigación en
el marco del cual se encontró la vulnerabilidad y envía el enlace al
procedimiento que utiliza para el reporte y difusión de
vulnerabilidades[4].

. 2014-09-17:
	Programa de Seguridad en TIC pide una actualización de la situación y
una fecha estimada para la publicación de una solución al problema.


. 2014-09-17:
        El fabricante responde que el equipo de aplicaciones móviles
está trabajando sobre el problema y que se está realizando una
evaluación de impacto antes de realizar el cambio. La fecha de
publicación de la solución se estimará despues de eso.

. 2014-09-17:
	Programa de Seguridad en TIC pregunta si hay una fecha estimada para
la publicación de la nueva versión arreglada y si el fabricante
entiende que el problema ya es público y permite comprometer las
cuentas de usuarios.

. 2014-09-17:
        El fabricante informa que el análisis de impacto esta centrado
en determinar el conjunto de usuarios que no podrán usar la aplicación
con el problema arreglado debido a no tener instalado el certificado
de la Autoridad Certificante necesaria en su dispositivo.

. 2014-09-18:
	Programa de Seguridad en TIC envía un correo electrónico haciendo
referencia a las obligaciones legales de protección de datos
personales que debe cumplir cualquier organización operando en
Argentina[6], al arreglo del caso de la Comisión Federal de Comercio
(FTC) de EEUU contra Fandango y Credit Karma[7] y señalando la
clausula de seguridad del documento de políticas de privacidad y
confidencialidad de la información de MercadoLibre[8].
        Programa de Seguridad en TIC comenta que el impacto sobre el
conjunto de usuarios que no podrán usar la aplicación arreglada
debería ser contrastado con el riesgo de negocios que implica dejar
vulnerable a ataques de toma de control de sus cuentas a todos los
usuarios de la aplicación.

. 2014-09-22:
        El fabricante responde que entiende el riesgo y que la
vulnerabilidad va a ser corregida en breve. Hacerlo o no, no está en
discusión. Indica que el Programa de Seguridad en TIC puede tratar
cualquier duda con el ejecutivo en jefe de seguridad de MercadoLibre.

. 2014-09-22:
	Programa de Seguridad en TIC agradece la rápida respuesta y menciona
que debe realizar por correo electrónico todas las comunicaciones
sobre el reporte de la vulnerabilidad a fín de que queden
documentadas, resumidas y agregadas a la sección Cronología del
boletín de seguridad, como se indica en el procedimiento antes mencionado.

. 2014-09-24:
        El fabricante informa que la versión 3.10.6 de la aplicación
arregla el problema de validación de los certificados SSL y que ya fué
publicada y esta disponible para el 1% de los usuarios. Actualizará la
información a medida que se haga disponible a más usuarios.

. 2014-09-27:
        El fabricante informa que la aplicación MercadoLibre versión
3.10.6 esta disponible al público.

. 2014-10-24:
	Programa de Seguridad en TIC notifica al fabricante que aunque no
recibió más información sobre la disponibilidad de la version
corregida, supone que ya está disponible para el 100% de los usuarios
y por lo tanto procederá a publicar el boletín de seguridad el próximo
Lunes.

. 2014-11-07:
        Una nueva versión de la aplicación de MercadoLibre se publica
en el mercado Google Play.

. 2014-10-27:
        Boletín de seguridad publicado.

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/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQIcBAEBAgAGBQJUYuO5AAoJEOAj8IJkRx2rsFMP/io0Nw+nwrIWIVmjk11pS0nw
z3l1NAa2DSRTbY68bMFTE+aOhSr0CoTW8bOUuH/zrIDSJyalaCVdcF/CouZQk6Ah
C9GkmDJZd9p3H2UaG5pTwQ4rZBWV3aIqzJhGx8pJQ4w8r67iV/F/ojIjzriJpGHa
SPoeO3xQWlTqGLdD2R38TZU49U2kH2GFDiA3qpdR5apFy3ppTGLBoERSf+GWv9Hw
i2+LgZBrNu2LD36ntGfitGsyL6cJBbyU7YoGSHG9qlwVh+kdiAnn5cVsDLRaBjpZ
WV5VqpN7J2VyTUK+n3R0ApXEvpMqCWxKY4eKUJNNoXwsUh7qlf7NwevRpBeHMhvY
QcmcDIo8jJtWDplzGpPCpi3w81lWV4Mxvb+mWpx1BXiIKHPck+rvPDqmZ19wyGuf
5qU3nMj+p29Z1VJ8JNYTQsXF081xZSDc1rwrGrigGkuYETGaYcETaZd0Et+EGVXb
maIupprgQ51YuXwmLBY68owiTQQnAnu7UqpKXXr+TBT4iugax74Klwwu+4h8DwqZ
T8uuOlR5u4ZMXbhDAykiAjQ6STHQz3Mr/RWy77qnd39y/eWyJ/DY3xVTRY+5QU0V
d8P3z2GpLmpIRW5nfEaLXyLR0ogMRoVeBD3o4XqkH3aLTxgX0wIhJk7+IwELWnSc
SL5NBBxa2dbGdcKHN8gg
=ndN0
-----END PGP SIGNATURE-----



Más información sobre la lista de distribución Seguridad