Vulnerabilidades Prestashop explotadas de forma masiva

Desde hace unas semanas estamos registrando un aumento muy significativo de proyectos basados en Prestashop comprometidos. Esto se traduce en filtraciones de datos, envíos fraudulentos de mercancía o incluso en cuidadas inyecciones de código reemplazando la pasarela de pago por la del atacante, sustrayendo así el dinero del cliente final. Una versión moderna del skimming de las tarjetas.

En Julio pasado ya trasladamos a nuestros clientes la alerta crítica emitida por el Incibe recomendando una actualización urgente de Prestashop, al quedar afectadas todas las versiones entre la la 1.6.0.10 y la 1.7.8.7. La vulnerabilidad quedó registrada con el identificador CVE-2022-31181 y tiene un scoring de 9,8 sobre 10, pues resulta realmente trivial de explotar, permite a un atacante mediante una simple llamada POST al endpoint vulnerable a la inyección SQL, generar un fichero denominado blm.php sobre el que ejecutar instrucciones arbitrarias, ya directamente en el mismo proyecto.
Una vez que se obtiene el control de la tienda, puede acceder a toda la tienda o por ejemplo, inyectar un formulario de pago falso en la página de pago. En este punto, los clientes de la tienda que envían datos de pago enviarán sus datos al atacante.

PrestaShop aconseja asegurarse de que tanto la tienda como los módulos estén completamente actualizados hasta sus últimas versiones. También deshabilitar una función poco utilizada llamada MySQL Smarty. Deshabilitada de forma predeterminada, pero puede ser activada de forma remota por el atacante y emplear el código de esta funcionalidad. La recomendación en este punto es deshabilitar físicamente desde el propio archivo config/smarty.config.inc.php en su instalación de PrestaShop. Elimine o comente las líneas 43-46 (PrestaShop 1.7) o 40-43 (PrestaShop 1.6):

if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';
}

En el caso de que su tienda ya ha sido comprometida, implementar éste parche no es suficiente para solucionar el problema. Deberá contactar con nuestro equipo de soporte para recuperar una copia limpia de su tienda y actualizar su instalación de Prestashop hasta la última versión estable de su rama.

Hasta aquí, lo que podría ser un día cualquiera, donde todas las aplicaciones tienen sus ciclos de vida y deben ser mantenidas y actualizadas. Pero esto no es todo, pues quizás por lo lucrativas y sencillas de implementar que han resultado estas últimas campañas para los atacantes, pero estamos observando una incidencia hasta ahora desconocida sobre las instalaciones de Prestashop e incluso otros CMS orientados al ecommerce como Magento o Woocommerce. Las herramientas mas comunes de exploits están incorporando ya de serie utilidades para explotar ésta y otras vulnerabilidades similares, aprovechándose de las muchas instalaciones de Prestahop sin actualizar que aún existen, sin ser necesaria ningún tipo de experiencia o conocimiento previo para el éxito del atacante.

Otra vulnerabilidad crítica relativamente reciente, pues ya es de Junio de 2022, es la existente en blockwishlist, un módulo estándar de Prestashop con un scoring de 8.1 sobre 10 y con identificador CVE-2022-31101.

También estamos viendo como se está volviendo a explotar de forma masiva la vulnerabilidad CVE-2020-4074 con el dudoso honor de tener un scoring de 10 sobre 10! y que desde Julio del año 2020 afecta a todas las versiones entre la 1.5.0.0 y 1.7.6.6, quedando corregida en ésta última. Se trata de una vulnerabilidad que permite evadir el login de administración y acceder al backoffice de forma absurdamente sencilla.

No existe ninguna justificación, ni compensa el riesgo y la responsabilidad legal derivada de mantener una instalación manifiestamente obsoleta y vulnerable de un aplicativo de comercio electrónico. Una herramienta que además de nuestros pedidos, gestiona datos de clientes y medios de pago. Podemos ver la versión actual estable de Prestashop en el siguiente enlace: https://www.prestashop.com/es/versiones.

Si cree contar con una versión obsoleta de Prestashop, o ya ha recibido nuestra alerta sobre una de sus instalaciones, contacte de forma urgente con nuestro soporte para valorar las medidas de contención mas apropiadas.