Cuidado con el módulo Block Newsletter de Prestashop, ¡podrias estar publicando tu lista de clientes!

El otro día preprándo una campaña, si para el maldito Black Friday  me dí cuenta de una gran vulnerabilidad del módulo Block Newsletter en su versión 2.3.1

Este módulo se encarga de exportar las diferentes listas de usuarios suscritos a los newsletters en csv, pero en más de un caso algo falla y los csv se generan sin hash, sin salt, ni seguridad ninguna. De forma que podrías estar dejando accesible tus contactos en una url del tipo: domain.tdl/modules/blocknewsletter/customers_export_.csv

Yo he hecho una búsqueda con footprints de tiendas Prestashop, por probar y tirar al sitio web y me he encontrado con varios a los que he avisado del problema.

¿Quiénes están afectados?

Normalmente las versiones de Prestashop 1.6.1.X que se han actualizado y algo ha fallado. En concreto este módulo genera una constante PS_NEWSLETTER_RAND guardada en la tabla ps_config y en las versiones afectdas este valor no existe.

 

¿Cómo se soluciona?

  1. Sólo basta reínstalar el módulo Block Newsletter y tus nuevos CSV se generarán correctamente
  2. Una vez que lo reínstales debes entrar a la ruta /modules/blocknewsletter/ y eliminar los CSV customers_export_.csv que tenías anteriormente

 

¿Hay más problemas?

En principio sí. Una idea maligna sería iterar ese valor númerico /modules/blocknewsletter/customers_export_XXXXXXXXXXXXXXXXXXXX.csv hasta dar con el correcto y obtener el CSV aunque sea cuestion de tiempo creo que este fichero debería de ir al menos tokenizado en un php.

Otras versiones más antiguas del módulo como la 2.1.6 generan ficheros con una numeración mucho más pequeña de sólo 10 dígitos. Así que viendo este módulo lo mejor es que tratéis de quitaróslo del medio y hacer como dice mi camarada Ernesto

  • Tener las cosas limpias y ordenadas
  • Tenerlo todo actualizado a su última versión
  • Sanear de archivicos csv el directorio del módulo

Y recuerda, siempre que hagas una actualización de un módulo prueba y testea que todo está bien.