Inseguridad en los correos de PedidosYa

por | 07/17/2015

PedidosYa es un sitio y aplicación móvil que se volvió muy practica y popular en los últimos tiempos, tiene presencia en varios países y su finalidad es facilitar comprar comida por «Delivery».

Al igual que paso con el caso de ML el problema lo encontré en los correos electrónicos, precisamente en los que llegan después de haber comprado, donde el subject es «Comparte tu opinión», no se descarta que pueda existir el mismo problema en otros correos. En dicho correo nos solicitan que publiquemos nuestro comentario con respecto al pedido, para ello en el correo electrónico viene un botón con un link, una vez que hacemos click en el mismo nos lleva a la pagina de PedidosYa para hacer nuestro comentario y justamente acá es donde esta el problema; a través del link hace un «auto login». Como en el caso que les comente de ML, es tan simple como capturar el link completo ( en realidad una sola variable es la que nos interesa ) para tener acceso ilimitado a la cuenta, donde hay datos personales que seguramente a los usuarios no les guste compartir tan libremente.

El link en cuestión es:

  • http://email.pedidosya.com/wf/click?upn=[HASH] y esto nos redirecciona al siguiente link: http://www.pedidosya.com.ar/myOrders?[INTEGER]&ac=[HASH]&r=[INTEGER]&t=[HASH]
  • Lo que nos importa de esa última URL es el HASH de «ac», ahí es donde esta el acceso. Por lo tanto para ingresar pueden usar: http://www.pedidosya.com.ar/myOrders?ac=[HASH]

Otros problemas que encontré:

  • una vez que ingresaron con ese link, aunque cierren la pestaña del navegador, la sesión queda abierta
  • en el caso de Firefox y Chrome ( no probe en otros ) mientras la url no cambie, no pueden hacer «logout» ya que si lo hacen vuelve a la pagina del comentario y a «auto loguearlos». Para poder hacer el «logout» tienen que hacer click en algún otro link para que cambie la URL y recién ahí se hace bien.
  • los hash no vencen
  • no se utiliza SSL/TLS ( tengamos en cuenta que las últimas recomendaciones son usar TLS 1.2, no más SSL ).

Los problemas y soluciones son las mismas al caso de ML.

Problemas:

  1. La obtención del hash es muy simple.
  2. No existe paso de autenticación, simplemente se hace auto login.
  3. Exposición de datos personales.
  4. Posibilidad de realizar pedidos falsos.
  5. No se vence el hash, una vez utilizado se puede seguir usando eso amplia considerablemente la posibilidad de una intrusión.
  6. Aunque se utilice algún método de encripción ( ej. TLS ) los GET de la URL viajan en texto plano, eso quiere decir que el HASH viaja por un medio no seguro

Soluciones ( que veo yo ):

  1. NO realizar auto login.
  2. El link tiene que ser una referencia a la orden y no llevar HASH de autenticación. Las ordenes tienen que estar identificadas con un valor único.
  3. Solicitar login del usuario ( implementar bajo TLS 1.2 ).

Y como siempre es recomendable, toda autenticación tendría que tener la posibilidad de utilizar Two-factor authentication.

Esperemos que puedan solucionarlo pronto, como hizo la gente de ML, mientras tanto vean la posibilidad de desactivar dichas notificaciones.

Por mi parte, esto ya lo estoy reportando.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.