PHP2Shell: guía para comprobar y parchear tu servidor PHP
Si tu web corre sobre PHP, esto te afecta. El 21 de octubre de 2026 el proyecto PHP publicó correcciones para dos fallos críticos, CVE-2026-109618 y CVE-2026-109619. Ese mismo día el FBI, la NSA, el NCSC británico y la primera ministra de Japón pidieron a las organizaciones que revisaran su PHP. Aquí tienes lo esencial, en forma de pasos que puedes seguir en una sola sesión.
La situación en cuatro líneas
- Los dos fallos están en el núcleo de PHP y cada uno puntúa 9.2 en CVSS 4.0.
- Según el aviso de PHP, permiten ejecutar código en el servidor sin iniciar sesión.
- Se vieron ataques antes de que el parche fuera público.
- Actualizar WordPress o los plugins no lo soluciona. Hay que actualizar PHP.
Mira el vídeo
Paso 1: localiza dónde corre PHP
Empieza por lo que esté expuesto a internet y sigue con paneles de control y productos que incluyen PHP por dentro. Anota la versión de cada servidor y si usa mod_php, PHP-FPM u otra cosa. Según el aviso de PHP, mod_php es la configuración de mayor riesgo.
php -v
php-fpm -v
apachectl -M | grep -i php
ps -eo pid,ppid,user,cmd | grep -E "php-fpm|apache2|httpd" | grep -v grep
Paso 2: compara con las versiones corregidas
| Rama | Corregido en |
|---|---|
| 8.5 | 8.5.12 |
| 8.4 | 8.4.27 |
| 8.3 | 8.3.36 |
| 8.2 | 8.2.35 (fin de vida el 31 de diciembre de 2026) |
| 8.1 y anteriores | Sin versión oficial. Pide un backport a tu proveedor o cambia de rama. |
Si PHP viene de un paquete de tu distribución, el número de versión puede seguir siendo el antiguo tras un backport. Lee el registro de cambios, por ejemplo en Debian y Ubuntu: apt changelog php8.3-fpm | head -n 30.
Paso 3: actualiza, reinicia y verifica
Actualiza el paquete o la compilación y reinicia los procesos que atienden peticiones web. Un PHP-FPM en marcha sigue usando el código antiguo hasta que se reinicia. Después, comprueba la versión también desde el lado web y no solo desde la línea de comandos.
Paso 4: busca señales de abuso
Revisa los registros desde el 20 de octubre. La señal de alarma es que el usuario del servidor web lance shells, curl o wget. Si aparecen indicios de intrusión, el FBI indica aislar el sistema, conservar los registros y avisar a una oficina local del FBI o en ic3.gov.
Si hoy no puedes actualizar
PHP publicó mitigaciones temporales en php.net. Reducen el riesgo, pero no lo eliminan. Las reglas de cortafuegos de Cloudflare fueron descritas por su propio director técnico como un remedio provisional. El FBI y la NSA recomiendan desconectar el sistema hasta que esté totalmente mitigado.
Por qué ha llamado tanto la atención
Cerca del 69 % de los sitios cuyo lenguaje de servidor se conoce usan PHP, y el fallo está por debajo de cualquier CMS o framework. En Bélgica, un grupo de medios, una universidad y varios hospitales retiraron sitios de la red por precaución. Las empresas están pasando a plazos de parcheo medidos en horas, tratan el PHP sin soporte como un incidente y redactan por adelantado el plan para desconectar un sitio.
Dónde entra la IA
Según la prensa, los investigadores usaron herramientas de IA para encontrar los fallos, y quien defiende puede aprovechar la misma idea. Por ejemplo, Claude Managed Agents de Anthropic admite orquestación multiagente: un agente principal reparte el inventario de versiones, la auditoría de dependencias y la revisión de registros entre agentes distintos y entrega un solo informe. Que sea una persona quien apruebe cualquier cambio. La disponibilidad de los productos cambia, así que consulta la documentación de Anthropic.
Preguntas frecuentes
¿Actualizar WordPress lo arregla?
No. El fallo está en PHP, así que hay que actualizar PHP.
¿Basta con Cloudflare?
No. Ayuda contra patrones conocidos, pero no sustituye al parche.
¿Dónde aprendo más sobre seguridad en PHP?
Mantengo una referencia de conceptos, términos y ejercicios: PHP Master Guide en Notion.