PHP2Shell: qué es la vulnerabilidad crítica de PHP y qué hacer hoy
El 21 de octubre de 2026 PHP publicó parches para dos fallas críticas que permiten tomar el control de un servidor sin usuario ni contraseña. Ya se están explotando. Si tu sitio, tu tienda o tu sistema corre en PHP —WordPress, Moodle, Magento, Laravel o un desarrollo propio—, esto te toca hoy.
Qué pasó, en corto
- Dos fallas en el núcleo de PHP: CVE-2026-109618 y CVE-2026-109619, conocidas como PHP2Shell. Las dos tienen 9,2 sobre 10 en CVSS v4.
- No hace falta iniciar sesión: un atacante puede ejecutar código en el servidor con una petición web. El riesgo más alto es con Apache y mod_php, donde la falla se dispara antes de que corra el código de tu aplicación.
- Afecta casi todo PHP en uso: PHP-FPM, mod_php, php-cgi, FrankenPHP y LiteSpeed, desde la versión 5.4 hasta la 8.5.11. Los investigadores confirmaron ataques sin autenticación contra versiones de WordPress, Drupal, Joomla y Magento.
- Ya hay ataques: Amazon vio el primer intento el 17 de octubre, cuatro días antes de que se publicara la falla, y dice que ahora se explota de forma amplia. Cloudflare también reporta ataques.
Versiones afectadas y corregidas
| Rama | Afectada | Actualizar a |
|---|---|---|
| PHP 8.5 | antes de 8.5.12 | 8.5.12 |
| PHP 8.4 | antes de 8.4.27 | 8.4.27 |
| PHP 8.3 | antes de 8.3.36 | 8.3.36 |
| PHP 8.2 | antes de 8.2.35 | 8.2.35 |
| PHP 7.4 a 8.1 | todas | Sin versión oficial: subir a 8.2 o superior |
| PHP 5.4 a 7.3 | todas | Fuera de soporte: subir a 8.2 o superior |
Si usas PHP 8.1 o anterior, no hay parche que esperar: la única salida es subir a 8.2 o superior. Es el caso de muchos servidores viejos que nadie se ha atrevido a tocar.
Cómo saber si tu servidor está expuesto
- En un servidor Linux (EC2, Lightsail, VPS): corre
php -vy, si usas PHP-FPM, tambiénphp-fpm -v(el nombre puede llevar la versión, por ejemplophp-fpm8.3 -v). Compara con la tabla. - En hosting con cPanel: revisa la versión de cada dominio en MultiPHP Manager. Un mismo servidor puede tener sitios en versiones distintas.
- En contenedores: mira la etiqueta de la imagen base (por ejemplo
php:8.3-fpm) y la versión real dentro del contenedor. Una imagen construida hace un mes sigue vulnerable aunque la etiqueta diga 8.3. - En toda una cuenta de AWS: Amazon Inspector y el inventario de Systems Manager muestran qué instancias e imágenes de ECR tienen paquetes de PHP y en qué versión. Así no se queda por fuera el servidor que nadie recordaba.
Qué hacer hoy, en orden
- 1. Actualizar PHP. Es la única solución completa. Si usas los paquetes de tu distribución (Ubuntu, Debian, Red Hat), instala la actualización de seguridad de PHP y reinicia PHP-FPM o Apache. En Amazon Linux 2023 el paquete corregido estaba en preparación el 21 de octubre: revisa si ya salió antes de dar el tema por cerrado. En contenedores, reconstruye la imagen con la versión corregida y vuelve a desplegar.
- 2. Si no puedes actualizar hoy, reduce la exposición. El equipo de PHP propone ajustes temporales:
session.upload_progress.enabled=0y, en PHP 8.5,fatal_error_backtraces=0; para la otra falla, fijarmemory_limit=-1de forma que la aplicación no lo pueda cambiar, con un límite de memoria en el contenedor o el servidor para que no se caiga. Reinicia todos los procesos de PHP después. Bajan el riesgo, pero no reemplazan la actualización. - 3. Poner un filtro adelante. Cloudflare ya tiene reglas para todos sus clientes, incluido el plan gratis. En AWS, con AWS WAF en el balanceador o en CloudFront, puedes bloquear las peticiones que traen el texto
PHP_SESSION_UPLOAD_PROGRESSo, si tu aplicación no recibe archivos, las subidas de archivos. Pruébalo antes en modo de conteo para no tumbar formularios legítimos. - 4. Revisar si ya entraron. Busca en los registros del servidor desde el 17 de octubre peticiones POST con
PHP_SESSION_UPLOAD_PROGRESS, procesos que no reconoces y archivos PHP nuevos o modificados en las carpetas del sitio. - 5. Si nada de lo anterior es posible, saca el sitio de internet hasta actualizarlo. Es lo que recomienda CERT-EU para aplicaciones expuestas sin parche.
Preguntas frecuentes
¿Qué es PHP2Shell?
Es el nombre de dos vulnerabilidades críticas en el núcleo de PHP, CVE-2026-109618 y CVE-2026-109619, con puntaje 9,2 en CVSS v4. Permiten que alguien sin usuario ni contraseña ejecute código en el servidor. PHP las corrigió el 21 de octubre de 2026.
¿Qué versiones de PHP están afectadas?
Todas desde la 5.4 hasta la 8.5.11. Las versiones corregidas son 8.5.12, 8.4.27, 8.3.36 y 8.2.35. PHP 8.1 y anteriores ya no reciben parches oficiales: hay que subir a 8.2 o superior.
¿Mi WordPress está en riesgo?
Sí, si corre sobre una versión de PHP afectada. Los investigadores confirmaron ejecución de código sin autenticación en versiones de WordPress, Drupal, Joomla y Magento. Lo que hay que actualizar es PHP, no solo el WordPress.
¿Ya se está explotando?
Sí. Amazon detectó un intento de explotación el 17 de octubre, cuatro días antes de que se publicara la falla, y reporta que ahora se explota de forma amplia. Cloudflare también reporta ataques.
Si tienes servidores con PHP en AWS y no sabes cuáles están expuestos, te ayudamos: hacemos el inventario de versiones en tu cuenta con acceso de solo lectura, te decimos qué actualizar primero y, si lo necesitas, aplicamos el parche y la regla de WAF por ti.
Pedir el diagnóstico de PHP2ShellFuentes
- Tenable: preguntas frecuentes sobre PHP2Shell (en inglés) ↗
- Google Cloud: respuesta a CVE-2026-109618 y CVE-2026-109619 (en inglés) ↗
- Amazon Threat Intelligence: explotación de PHP2Shell antes de su publicación (en inglés) ↗
- Amazon Linux 2023: solicitud de paquete corregido, issue 1148 (en inglés) ↗
- Cloudflare: reglas WAF contra PHP2Shell (en inglés) ↗
Información verificada el 21 de octubre de 2026. Si aparecen nuevas versiones corregidas, la tabla se actualiza.