PHP2Shell en PrestaShop: qué hacer según la versión de la tienda
PrestaShop funciona con PHP, así que está expuesto a PHP2Shell. La solución depende de la versión de la tienda: PrestaShop 9 puede pasar a una versión corregida de PHP, pero PrestaShop 1.7 no admite PHP 8 y solo puede protegerse con parches del alojamiento o actualizando la tienda.
A quién afecta
Tiendas PrestaShop 1.7, 8 y 9 en cualquier alojamiento.
Qué hacer
- Ver la versión de PrestaShop y la de PHP en Parámetros avanzados → Información.
- PrestaShop 9: pasar a PHP 8.4.27 (recomendada) o a 8.3.36 u 8.2.35.
- PrestaShop 8: usa PHP 8.1, que no tiene arreglo oficial; pedir al alojamiento el parche de compatibilidad de 8.1 y planificar la actualización a PrestaShop 9.
- PrestaShop 1.7: admite como máximo PHP 7.4; pedir el parche de compatibilidad de 7.4 y planificar la migración a PrestaShop 8 o 9.
Por qué PrestaShop está expuesto
PrestaShop se ejecuta sobre PHP. Hasta ahora ninguna de las fuentes publicadas ha mostrado un ataque específico contra PrestaShop, pero el fallo está en PHP y afecta a cualquier aplicación que lo use, y Sansec ya lo confirmó contra Magento y otras diez aplicaciones PHP.
La versión de PrestaShop decide qué PHP se puede usar
Cada versión de PrestaShop admite un rango concreto de PHP. Por eso no basta con pedir «la última versión de PHP»: en una tienda antigua, un PHP demasiado nuevo deja la tienda sin funcionar.
| Versión de PrestaShop | PHP que admite | Versión corregida posible |
|---|---|---|
| 9.0 | 8.1 a 8.4 (recomendada 8.4) | Sí: 8.4.27, 8.3.36 u 8.2.35 |
| 8.x | Hasta 8.1 (recomendada 8.1) | No oficial: parche de compatibilidad de 8.1 |
| 1.7.8 | 7.1 a 7.4 (no admite PHP 8) | No oficial: parche de compatibilidad de 7.4 |
En la práctica, las tiendas PrestaShop 1.7 y 8 dependen de que el alojamiento aplique los parches de compatibilidad que se publicaron para PHP 7.4, 8.0 y 8.1. Es una solución temporal: la definitiva es actualizar la tienda a PrestaShop 9 y usar PHP 8.4.
Dónde ver la versión de PHP en PrestaShop
En el panel de administración, en Parámetros avanzados → Información, aparecen la versión de PrestaShop y la del servidor, incluida la de PHP. Con esos dos datos y la tabla anterior se sabe qué pedir al alojamiento.
La conexión con SendSeiPro no cambia
SendSeiPro se conecta a PrestaShop a través de su servicio web (webservice) con una clave de acceso y no instala módulos en la tienda. Actualizar PHP o PrestaShop no requiere cambiar nada en SendSeiPro, siempre que la clave del servicio web se mantenga.
Preguntas frecuentes
¿PrestaShop está afectado por PHP2Shell?
Sí, porque funciona con PHP. No se ha publicado un ataque específico contra PrestaShop, pero el fallo está en PHP y afecta a cualquier aplicación que lo use.
¿Se puede usar PHP 8.4 con PrestaShop 1.7?
No. PrestaShop 1.7.8 admite como máximo PHP 7.4. Para protegerla hay que aplicar el parche de compatibilidad de PHP 7.4 o migrar la tienda a PrestaShop 8 o 9.
¿Qué versión de PHP usar con PrestaShop 9?
PrestaShop 9.0 admite de PHP 8.1 a 8.4 y recomienda 8.4. Frente a PHP2Shell, la versión adecuada es 8.4.27.
¿Dónde se ve la versión de PHP en PrestaShop?
En Parámetros avanzados → Información, dentro del panel de administración.