Crítica 10.0 CVSS 3.1 ps_facetedsearch Publicado el 17/07/2026

Inyección de objetos PHP en la caché de la búsqueda por facetas que permite RCE sin autenticación

CVECVE-2026-54159 GHSAGHSA-m5f5-28qr-9g9r
Ver en la fuente Ver JSON Última modificación en la fuente: 24/10/2026

Descripción

Inyección de objetos PHP en la caché de la búsqueda por facetas que permite RCE sin autenticación

Impacto

Una vulnerabilidad de inyección de objetos PHP afecta al módulo de PrestaShop ps_facetedsearch.

El módulo reconstruye los filtros de búsqueda seleccionados a partir de la URL de la petición. El valor de un filtro deslizante (precio o peso) se toma de la URL sin la validación suficiente, se guarda en una caché interna del bloque de filtros, donde se serializa, y más tarde se vuelve a leer con un unserialize() nativo sin protección. Manipulando ese valor, un atacante puede colar un objeto PHP serializado malicioso en la caché. Al deserializarse, una cadena de gadgets escribe un fichero PHP arbitrario dentro del directorio del módulo, que después se usa como webshell para ejecutar comandos en el servidor.

A quién afecta

A cualquier tienda que use una versión vulnerable de ps_facetedsearch y muestre una plantilla de filtros con un filtro deslizante (precio o peso). La explotación es remota y sin autenticación: basta una sola petición manipulada al front office, y conduce a la ejecución remota de código y al compromiso total de la tienda y de su servidor.

Versiones afectadas: de la 3.0.0 a la 4.0.3 (todas desde la 3.0.0, incluida la última publicada).

Parches

Actualiza el módulo ps_facetedsearch a la versión corregida. Actualizar el módulo es la mejor medida, porque elimina la vulnerabilidad.

Si no es posible, puedes aplicar la corrección a mano en el fichero src/Filters/Block.php:

En el método getFromCache(), sustituye la llamada nativa a unserialize():

```php // Antes if (!empty($row)) { return unserialize(current($row)); }

// Después if (!empty($row)) { return \Tools::unSerialize(current($row)); } ```

Mientras no actualices el módulo:

  • Quita los filtros deslizantes de precio y peso de las plantillas de filtros expuestas en el front office.
  • Vacía la caché de filtros de la búsqueda por facetas y revisa el directorio modules/ps_facetedsearch/ en busca de ficheros PHP que no deberían estar.
  • Vigila las peticiones de búsqueda en busca de patrones de serialización PHP (O:, ;i:, referencias a clases como Monolog\…) y bloquéalas en el WAF.

Referencias

  • Gracias a Frédéric Moreau (Antadis) y Gilles Caudal (Datalinx) por reportar esta vulnerabilidad.

Texto original de NVD (NIST), dominio público. Traducción de PrestaShield.

Métricas CVSS 3.1

Fuente: security-advisories@github.com · secondary
Crítica 10.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Vector de ataqueRed
ComplejidadBaja
Privilegios requeridosNinguna
Interacción del usuarioNinguna
AlcanceCambia
ConfidencialidadAlta
IntegridadAlta
DisponibilidadAlta

Referencias

¿Has encontrado una vulnerabilidad?

Escribe al equipo de seguridad del core de PrestaShop:

security-core@prestashop.com

Avisos relacionados

Mismo módulo: ps_facetedsearch
Todos los avisos de ps_facetedsearch (3)
IDAvisoComponenteSeveridadVersiones afectadasPublicadoParche

¿Usas el módulo ps_facetedsearch?

PrestaShield lo comprueba desde fuera, sin acceso FTP, y te avisa de cada aviso nuevo que te afecte.
Detectar si mi tienda está afectada