Seguridad y SSL
Vulnerabilidad crítica en PrestaShop 1.6.0.10 a 1.7.8.2
El día 22 de julio PrestaShop envió un comunicado masivo en el que alertaba de una vulnerabilidad crítica de tipo inyección SQL.
Esta vulnerabilidad afecta a las versiones 1.6.0.10 hasta la 1.7.8.1.
El atacante aprovecha una vulnerabilidad en el motor de plantillas Smarty, concretamente en el sistema de caché, en el componente relacionado con el almacenamiento MySQL.
La solución preferente es actualizar PrestaShop a una versión soportada y segura, siguiendo el procedimiento oficial y probando antes la actualización en un clon. Un parche manual es únicamente una mitigación temporal y no corrige otras vulnerabilidades de una versión obsoleta.
Antes de intervenir, crea una copia actual de ficheros y base de datos, verifica su restauración temporal y enumera cada instalación afectada con su versión y la ruta absoluta exacta de config/smarty.config.inc.php. No uses búsquedas y reemplazos masivos.
Si una instalación no puede actualizarse de inmediato, confirma primero que no utiliza la caché MySQL de Smarty. Sobre esa instalación concreta, copia el fichero preservando permisos:
FILE=/home/usuario_cpanel/public_html/config/smarty.config.inc.php test "$(realpath "$FILE")" = "$FILE" || exit 1 test -f "$FILE" || exit 1 cp -p "$FILE" "$FILE.before-cve-patch"
Edita únicamente el fichero enumerado y retira este bloque exacto:
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') { include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php'; $smarty->caching_type = 'mysql'; }
No des por hecho que el bloque no se usa. Compara el cambio y valida la sintaxis antes de abrir la tienda:
diff -u "$FILE.before-cve-patch" "$FILE" php -l "$FILE"
La diferencia debe contener exclusivamente el bloque previsto y php -l debe terminar sin errores. Limpia la caché por la herramienta soportada de PrestaShop y comprueba frontal, administrador, carrito, pedido y registros de PHP.
Repite el inventario, copia, edición y validación de forma individual para cada instalación. No uses find, xargs, sed ni otro reemplazo sin límites sobre varias webs.
Si la sintaxis o la aplicación fallan, restaura inmediatamente el fichero exacto con cp -p "$FILE.before-cve-patch" "$FILE", limpia la caché y verifica la reversión. Programa después la actualización soportada: mantener el parche manual no sustituye la actualización.
También te puede ayudar