PHP2Shell: el fallo de PHP que pone en riesgo tu tienda PrestaShop

Tu tienda online · 7 min de lectura · Actualizado el 21/10/2026

PHP2Shell: el fallo de PHP que pone en riesgo tu tienda PrestaShop

El 20 de octubre saltó un aviso que puso en vilo a medio internet: dos fallos graves en PHP, el lenguaje con el que funciona tu tienda PrestaShop, que permiten a un desconocido tomar el control del servidor sin usuario ni contraseña. Se les conoce como PHP2Shell. PHP publicó el arreglo el 21 de octubre, y lo que tienes que hacer depende de una sola cosa: la versión de PHP en la que corre tu tienda.

Te lo contamos sin tecnicismos: qué ha pasado, cómo saber si te afecta, qué hacer hoy y qué hacer si tu tienda está en una versión que no recibe el arreglo.

¿Qué es PHP2Shell y por qué es tan grave?

PHP es el motor que hay debajo de PrestaShop, WordPress, Magento y la mayoría de tiendas y webs del mundo. Los dos fallos, registrados como CVE-2026-109618 y CVE-2026-109619, tienen una nota de gravedad de 9,2 sobre 10. En la práctica, quien sepa aprovecharlos puede ejecutar lo que quiera en tu servidor: dejar una puerta trasera, robar los datos de tus clientes o meter en tu tienda un falso captcha como el de ClickFix.

Lo que lo hace distinto de otros avisos es que el ataque no pasa por PrestaShop ni por ningún módulo. Ocurre en PHP, antes de que tu tienda llegue a leer la visita. Da igual lo bien cuidada que esté: si el PHP del servidor es vulnerable, la tienda también.

Y la información se filtró antes de tiempo. La empresa de seguridad Sansec cuenta que junto al aviso apareció la captura de una herramienta de ataque ya preparada, y esperaba ataques masivos en cuanto se publicara el arreglo. Según la misma fuente, Cloudflare ya había visto los primeros intentos y puso reglas para frenarlos.

¿Afecta a mi tienda PrestaShop?

Lo más probable es que sí. En su aviso de seguridad, PHP considera en riesgo cualquier instalación que sirva páginas web, sea cual sea la forma en que el servidor la ejecuta, y el riesgo más alto en los servidores Apache con mod_php, donde ya hay un ataque demostrado que funciona sin usuario ni contraseña. Sansec habla de cualquier servidor con PHP 5.4 o posterior, que en la práctica es cualquier tienda PrestaShop en marcha hoy.

La pregunta que de verdad importa es otra: ¿te llega el arreglo? PHP lo ha corregido en las versiones 8.2.35, 8.3.36, 8.4.27 y 8.5.12. PHP 8.1 y las anteriores ya no reciben actualizaciones oficiales: para 7.4, 8.0 y 8.1 PHP ha dejado un arreglo mínimo que hay que compilar a mano, y algunos proveedores de soporte extendido lo incorporan a sus paquetes. Y cada versión de PrestaShop solo funciona con unas versiones concretas de PHP:

  • PrestaShop 1.6: funciona con PHP 5.6 a 7.1. Sin arreglo.
  • PrestaShop 1.7: como mucho PHP 7.4. Sin actualización oficial; solo en 7.4 cabe el arreglo mínimo compilado a mano.
  • PrestaShop 8: como mucho PHP 8.1. Sin actualización oficial; el arreglo mínimo para 8.1 también hay que compilarlo a mano.
  • PrestaShop 9: funciona con PHP 8.1 a 8.4. Con PHP 8.2 o superior recibe la actualización; si está en 8.1, basta con subir el PHP.

Dicho de otra forma: si tu tienda no es PrestaShop 9, no hay una actualización oficial que instalar, porque tu versión de PrestaShop no puede funcionar con un PHP que la tenga. Queda el arreglo mínimo, que es trabajo de técnico y que tampoco te cubrirá ante el próximo fallo.

Cómo saber qué versión tienes

Entra en el panel de tu tienda y abre Parámetros Avanzados → Información. Ahí verás la versión de PrestaShop y, un poco más abajo, la de PHP. Con esos dos números ya sabes en qué caso estás.

Qué hacer hoy, en orden

  1. Mira tus dos versiones, PrestaShop y PHP, como te contamos arriba.
  2. Haz una copia completa, archivos y base de datos, y guárdala fuera del servidor. Si algo pasa, es lo único que te deja volver atrás.
  3. Si tu tienda es PrestaShop 9, pide a tu hosting que actualice PHP a la 8.2.35, 8.3.36, 8.4.27 u 8.5.12 o posterior, o hazlo tú desde el panel del hosting si te deja elegir versión. Si estás en PHP 8.1, aprovecha para pasar a 8.3 u 8.4.
  4. Si usas Cloudflare, comprueba que la nube de tu dominio está en naranja: así el tráfico pasa por sus reglas antes de llegar a tu servidor. Sirve de poco si la dirección de tu servidor es conocida y acepta visitas de cualquiera, así que pide a tu técnico que lo cierre solo a Cloudflare.
  5. Si tu tienda es 1.6, 1.7 u 8, pregunta a tu hosting si aplica el arreglo a tu versión de PHP, pide a tu técnico las medidas de urgencia que te contamos abajo y ponle fecha a la actualización a PrestaShop 9. Es la única forma de volver a tener un PHP con parches.

Poner la tienda en mantenimiento desde el panel no te protege esta vez: PHP lee la visita antes de que PrestaShop decida enseñar la página de mantenimiento.

¿Y si mi tienda no puede recibir el arreglo?

PHP propone unos ajustes del servidor que cierran algunos caminos del ataque, y avisa de que no dejan la tienda segura: solo la actualización lo hace. Sansec añade otra medida de urgencia: bloquear en el servidor el tipo de envío con el que viajan los archivos que se suben a una web. Tiene un precio: mientras esté puesta, nadie puede subir archivos a tu tienda. Ni tú las fotos de un producto nuevo, ni tus clientes un adjunto en el formulario de contacto. La tienda sigue vendiendo con normalidad.

Sirve para ganar unos días, no para quedarse así. La próxima vez que salga un fallo en PHP —y saldrán—, tu tienda volverá a estar en la misma situación, porque PHP 8.1 y anteriores ya no reciben actualizaciones.

¿Merece la pena actualizar PrestaShop ahora?

Es la pregunta que siempre se aplaza porque la tienda funciona. PHP2Shell es lo que pasa cuando se aplaza demasiado: el día que llega el problema no lo eliges tú, y el arreglo no está a tu alcance.

Pasar a PrestaShop 9 te deja en un PHP que recibe parches durante años. Se hace sin cerrar la tienda, te llevas productos, clientes, pedidos y posiciones en Google, y una tienda pequeña cuesta desde 690 €. Lo contamos entero en actualizar PrestaShop 1.7 o 1.6 a 9, y en nuestra página de migración de PrestaShop 1.6 y 1.7 a 9.

Y si lo que quieres es no tener que estar pendiente de estos avisos, es justo lo que cubre un plan de mantenimiento: alguien que actualiza PHP, PrestaShop y módulos por ti y te avisa antes de que el problema llegue a tu tienda.

Para tu equipo técnico

Versiones corregidas: 8.2.35, 8.3.36, 8.4.27 y 8.5.12. Para 7.4, 8.0 y 8.1, PHP publica ramas con el arreglo mínimo en código fuente, enlazadas desde su aviso; no son versiones oficiales. Las medidas parciales que da PHP, en el php.ini, en el pool de PHP-FPM (php_admin_value) o en la configuración del servidor, nunca con ini_set() ni .user.ini, y reiniciando todos los procesos:

; CVE-2026-109618
memory_limit = -1
post_max_size = 32M   ; 8M si no se suben archivos
; CVE-2026-109619
session.upload_progress.enabled = 0
; solo en PHP 8.5
fatal_error_backtraces = 0

PHP pide no sustituir memory_limit por límites del sistema (RLIMIT_AS, RLIMIT_DATA). La medida de Sansec, bloquear multipart/form-data (rompe todas las subidas de archivos, panel incluido), en Apache:

RewriteEngine On
RewriteCond %{HTTP:Content-Type} multipart/form-data [NC]
RewriteRule ^ - [F]

En Nginx:

if ($http_content_type ~* "multipart/form-data") {
    return 403;
}

Con paquetes del repositorio de Remi (habitual en RHEL, AlmaLinux o Rocky), Sansec avisaba de que la actualización no llegaba el mismo día: comprobar la versión instalada con php -v. Con Cloudflare, limitar el puerto 443 del origen a sus rangos de IP; si no, el ataque llega directo a la IP del servidor.

¿Necesitas ayuda hoy?

Si no sabes en qué caso estás, si tu hosting no te contesta o si tu tienda es 1.6, 1.7 u 8 y quieres salir de ahí, cuéntanos tu versión de PrestaShop y la de PHP. Te decimos qué hacer hoy y, si hace falta, te damos precio cerrado para pasar a PrestaShop 9.

Quiero actualizar mi tienda

Cómo te podemos ayudar

Ver todos los servicios →

Seguir leyendo

¿Te echamos una mano con tu proyecto? Hablemos

Cuéntanos qué necesita tu negocio

Un módulo, una app, un servidor que da guerra o algo urgente. Te respondemos en menos de 24 horas, con un presupuesto cerrado con precio y fecha.