
Alerta de seguridad: skimmers incrustados en tiendas PrestaShop — ¿está tu e-commerce comprometido?
12/02/2026
Tráfico masivo desde Facebook (ASN 32934) para entrenamiento de IA: impacto en servidores web
12/03/2026Explotación de parámetros en módulos de navegación por facetas de PrestaShop: un problema silencioso de rendimiento
En entornos PrestaShop con catálogos medianos o grandes, uno de los puntos más delicados —y frecuentemente ignorados— es el impacto que pueden tener los módulos de búsqueda y navegación por facetas (blocklayered, ps_facetedsearch y derivados) cuando no se validan correctamente los parámetros de entrada.
Aunque estos módulos forman parte habitual de cualquier tienda moderna, también es sabido que su comportamiento a nivel de base de datos no siempre destaca por su eficiencia. La generación de listados facetados implica múltiples iteraciones, cálculos dinámicos, reconstrucción de filtros y, en muchos casos, repetición de consultas complejas para renderizar cada producto.

999999, el sistema puede intentar construir un listado masivo en una sola petición, con el problema grave de rendimiento que supone🚨 El problema: parámetros manipulables desde la request
Un patrón de abuso cada vez más frecuente consiste en la manipulación directa de parámetros como:
resultsPerPageorderproductListView- combinaciones de filtros y ordenaciones
Cuando estos valores no están limitados estrictamente por el backend del módulo, un tercero puede forzar comportamientos extremadamente costosos para el servidor.
Un caso típico es permitir un resultsPerPage arbitrario o ilimitado. Si el módulo acepta sin validación un valor como 999999, el sistema puede intentar construir un listado masivo en una sola petición, incluso en tiendas con decenas de miles de productos.




A partir de la versión 1.7.4 como queda documentado en GitHub, PrestaShop eliminó el control de este parámetro para ser opción de los desarrolladores el implementar sus propios métodos de control. La realidad es que actualmente prácticamente la mayoría de PrestaShops son vulnerables ante este abuso.
El resultado es devastador:
- Explosión de consultas SQL pesadas
- Uso intensivo de CPU y memoria
- Saturación de PHP-FPM / MySQL
- Tiempos de respuesta degradados
- Caída parcial o total de la tienda
En escenarios de explotación automatizada, múltiples actores maliciosos o scrapers pueden generar este tipo de peticiones en bucle, provocando un efecto prácticamente indistinguible de un ataque de denegación de servicio (DDoS), sin necesidad de tráfico masivo.
🧠 Por qué este problema es especialmente grave en PrestaShop
Estos módulos ya realizan una carga considerable de trabajo en condiciones normales. Si a ello se suma la posibilidad de ejecutar consultas gigantescas derivadas de parámetros no validados, el impacto sobre el servidor crece de forma no lineal.
No hablamos únicamente de un problema de scraping o crawling agresivo, sino de un vector de agotamiento de recursos totalmente evitable.
✅ Medida correctiva recomendada
La solución más eficaz no requiere cambios complejos en infraestructura ni optimizaciones exóticas. Se basa en un principio fundamental de seguridad y robustez:
👉 Nunca confiar en los parámetros recibidos desde la request
A nivel de desarrollo del módulo:
✔ Localizar dónde se consume resultsPerPage (u otros parámetros sensibles)
✔ Forzar siempre un valor máximo permitido
✔ Ignorar valores externos cuando no estén explícitamente habilitados
✔ Utilizar siempre el valor definido en el panel de administración como límite superior
En otras palabras:
- Si el cliente puede seleccionar el número de resultados → aplicar un clamp estricto
- Si no puede seleccionarlo → ignorar completamente el parámetro externo
Este simple control evita que una tienda pueda verse obligada a renderizar catálogos enteros en una sola llamada.
🛡️ Protección activa desde capa WAF
Además de la corrección en código, resulta altamente recomendable implementar controles en la capa de aplicación. Este tipo de abusos presenta patrones extremadamente detectables:
- Valores anómalos en
resultsPerPage - Combinaciones repetitivas de filtros
- Peticiones automatizadas en ráfaga
- Comportamientos típicos de scrapers
Gracias a nuestra nueva plataforma de protección en https://waf.deinser.com, la identificación y bloqueo de este tipo de vectores es más sencilla que nunca. Nuestro WAF permite detectar desviaciones de comportamiento, aplicar reglas específicas y evitar que este tipo de explotación degrade o tumbe la tienda.


