El 21 de octubre de 2026, administradores de sitios web de todo el mundo tuvieron que reaccionar con urgencia ante la publicación de dos vulnerabilidades críticas en PHP, el lenguaje que utilizan millones de páginas y aplicaciones web.
Los fallos, conocidos de forma conjunta como PHP2Shell, pueden permitir que un atacante ejecute código de forma remota en un servidor vulnerable sin necesidad de iniciar sesión.
La gravedad fue suficiente para que gobiernos, hospitales, empresas y otros servicios en distintos países desconectaran temporalmente algunos sitios mientras instalaban los parches de seguridad.
Si administras un sitio en WordPress, Joomla, Drupal, Magento o cualquier otra aplicación que utilice PHP, este problema te afecta directamente si el servidor continúa ejecutando una versión vulnerable.
En esta guía te explicamos qué ocurrió, cómo saber si tu sitio está en riesgo y cómo actualizar PHP correctamente.
El equipo de PHP publicó actualizaciones de emergencia para corregir dos vulnerabilidades críticas:
Ambas vulnerabilidades tienen una puntuación de 9,2 sobre 10 en CVSS 4.0, lo que las sitúa en la categoría crítica.
El riesgo más importante es la posibilidad de ejecución remota de código sin autenticación. En términos sencillos, un atacante podría enviar una petición especialmente diseñada a un servidor vulnerable e intentar ejecutar instrucciones sin conocer ninguna contraseña.
PHP funciona detrás de una enorme cantidad de sitios web. Cuando visitas una página creada con WordPress, por ejemplo, PHP participa en la generación del contenido que finalmente recibe tu navegador.
El problema de PHP2Shell no se encuentra necesariamente en WordPress, en un plugin o en el tema instalado.
Está en el propio motor de PHP que ejecuta la aplicación.
Por eso, actualizar únicamente WordPress, los plugins o el tema no soluciona estas vulnerabilidades.
El servidor debe ejecutar una versión de PHP que incluya las correcciones.
Una vulnerabilidad de ejecución remota de código puede ser especialmente peligrosa porque, dependiendo de la configuración del servidor y de los permisos disponibles, podría permitir acciones como:
El impacto real depende de la configuración del servidor y del nivel de acceso que tenga el proceso PHP.
Sí se ha observado actividad intentando explotar estas vulnerabilidades.
Cloudflare informó que detectó tráfico de ataque dirigido contra PHP2Shell y desplegó reglas de protección en su firewall de aplicaciones web.
Sin embargo, la propia Cloudflare insiste en que un WAF es solamente una capa adicional de protección y que los administradores deben actualizar PHP.
El 22 de octubre, medios internacionales informaron además de millones de intentos de explotación registrados mientras empresas y gobiernos aceleraban la instalación de parches.
El equipo de PHP publicó cuatro versiones corregidas.
| Rama de PHP | Versión mínima corregida |
|---|---|
| PHP 8.5 | 8.5.12 o superior |
| PHP 8.4 | 8.4.27 o superior |
| PHP 8.3 | 8.3.36 o superior |
| PHP 8.2 | 8.2.35 o superior |
PHP 8.1 y versiones anteriores ya no reciben soporte directo del proyecto PHP.
Además, PHP 8.2 llegará al final de su soporte de seguridad el 31 de diciembre de 2026, por lo que si todavía utilizas esa rama conviene planificar una migración a PHP 8.3, 8.4 o 8.5.
WordPress recomienda actualmente PHP 8.3 o superior.
Esto no significa que debas cambiar inmediatamente de una versión antigua a la más nueva sin comprobar compatibilidad.
Antes de realizar un salto importante de versión conviene asegurarse de que:
Si tu sitio utiliza software antiguo o código personalizado, lo ideal es probar primero la nueva versión de PHP en un entorno de pruebas.
Desde el panel de WordPress puedes comprobarlo sin instalar ningún plugin.
Si la versión aparece por debajo de las versiones corregidas mencionadas anteriormente, debes revisar inmediatamente si tu proveedor ya instaló un parche de seguridad.
En servidores Linux, algunos proveedores como Ubuntu, Debian o Red Hat pueden aplicar backports.
Esto significa que toman la corrección de seguridad de una versión reciente y la incorporan a su propio paquete sin cambiar necesariamente el número principal de PHP al mismo número publicado en php.net.
Por ejemplo, Ubuntu puede distribuir un paquete corregido cuyo número no sea exactamente 8.5.12.
Por eso, si administras un servidor mediante los repositorios de tu distribución Linux, debes instalar las actualizaciones oficiales del sistema y comprobar el aviso de seguridad del proveedor.
Si tienes un hosting compartido o administrado, es posible que el proveedor gestione PHP por ti.
En ese caso:
Puedes preguntar directamente:
“¿La versión de PHP que utiliza mi sitio ya está protegida contra CVE-2026-109618 y CVE-2026-109619?”
Esto es mejor que preguntar únicamente si utilizan “PHP 8.4”, porque el problema depende de la revisión de seguridad instalada.
En muchos hostings con cPanel puedes cambiar la rama de PHP mediante MultiPHP Manager.
cPanel permite asignar diferentes versiones de PHP a cada dominio.
Sin embargo, hay una diferencia importante: si el menú muestra simplemente “PHP 8.4”, el parche exacto dentro de esa rama depende de lo que el administrador del servidor haya instalado mediante EasyApache.
Si no sabes si PHP 8.4 está actualizado a una revisión corregida, consulta al proveedor.
La documentación oficial puede consultarse en MultiPHP Manager de cPanel.
En Plesk el procedimiento es similar:
Si la versión deseada no aparece, el proveedor debe instalarla o habilitarla.
Puedes consultar la guía oficial de configuración de PHP en Plesk.
Si administras tu propio VPS o servidor, debes instalar las actualizaciones de seguridad del sistema operativo.
En Ubuntu o Debian normalmente puedes comenzar con:
sudo apt update
sudo apt upgrade Después puede ser necesario reiniciar PHP-FPM o el servidor web, dependiendo de tu configuración.
Por ejemplo:
sudo systemctl restart php8.4-fpm o, si utilizas Apache:
sudo systemctl restart apache2 El nombre exacto del servicio depende de la versión instalada.
Ubuntu y Debian ya publicaron actualizaciones específicas para estas vulnerabilidades. En estos sistemas debes utilizar los paquetes oficiales del proveedor en lugar de comparar únicamente el número con el publicado en php.net.
En distribuciones basadas en RHEL, la actualización normalmente se realiza mediante DNF:
sudo dnf update Después revisa si debes reiniciar PHP-FPM o el servidor web:
sudo systemctl restart php-fpm Si utilizas Apache:
sudo systemctl restart httpd Si PHP procede de un repositorio externo, como Remi, comprueba también que dicho repositorio haya publicado la actualización correspondiente.
Si PHP está dentro de un contenedor, reiniciar el contenedor antiguo no instala una versión nueva.
Debes:
También debes asegurarte de que la etiqueta utilizada realmente apunte a una imagen corregida.
Aplicar una actualización de seguridad dentro de la misma rama —por ejemplo, pasar de PHP 8.4.26 a 8.4.27— normalmente implica menos riesgo de compatibilidad.
El cambio entre ramas mayores, por ejemplo de PHP 8.1 a 8.4, puede generar incompatibilidades con código antiguo.
Antes de ese tipo de migración:
No basta con cambiar la versión y cerrar el panel.
Comprueba:
En WordPress también puedes volver a Herramientas → Salud del sitio para confirmar la versión.
No.
Un WAF puede bloquear determinados patrones de ataque y reducir la exposición.
Cloudflare desplegó reglas específicas contra PHP2Shell y detectó intentos de explotación, pero también recomienda instalar el parche.
Un firewall debe entenderse como una capa adicional de defensa, no como sustituto de la actualización.
El propio equipo de PHP indica que no existe una mitigación completa que sustituya la actualización.
Existen configuraciones temporales que pueden reducir determinados vectores de ataque, pero no convierten una instalación vulnerable en segura.
Si administras un servicio crítico y no puedes parchearlo, las autoridades de ciberseguridad han recomendado considerar la restricción temporal del acceso público o incluso desconectarlo hasta poder aplicar la corrección.
En un hosting compartido, lo correcto es contactar inmediatamente al proveedor.
No.
Este punto merece repetirse porque puede generar confusión.
WordPress se ejecuta utilizando PHP. Si el motor PHP del servidor es vulnerable, actualizar WordPress no reemplaza la actualización del runtime.
Lo mismo ocurre con Drupal, Joomla, Magento y aplicaciones PHP desarrolladas a medida.
PHP 8.1 y versiones anteriores ya están fuera del soporte oficial del proyecto PHP.
Aunque algunos proveedores empresariales pueden mantener correcciones propias durante más tiempo, utilizar una rama sin soporte aumenta el riesgo de quedar expuesto a futuras vulnerabilidades.
Además, PHP 8.2 dejará de recibir actualizaciones de seguridad oficiales al finalizar 2026.
Para un WordPress moderno, el proyecto recomienda PHP 8.3 o superior.
Muchos propietarios de páginas actualizan WordPress y sus plugins, pero olvidan que el servidor también utiliza componentes que necesitan mantenimiento.
Entre ellos se encuentran:
PHP2Shell demuestra que mantener actualizado únicamente el CMS no es suficiente.
Si tu hosting administra estas capas, conviene saber cuál es su política de actualizaciones de seguridad. Si administras tu propio VPS, necesitas un proceso regular para aplicar parches.
Las vulnerabilidades PHP2Shell son especialmente importantes porque afectan al propio motor que ejecuta una gran cantidad de sitios web.
Los fallos CVE-2026-109618 y CVE-2026-109619 pueden permitir ejecución remota de código sin autenticación y ya han provocado una respuesta internacional de emergencia.
La solución real es actualizar PHP.
Si utilizas las versiones oficiales del proyecto, debes estar como mínimo en:
Si utilizas paquetes de Ubuntu, Debian u otra distribución, instala sus actualizaciones de seguridad oficiales y verifica que el proveedor haya corregido ambas CVE.
Y si tienes un hosting administrado, no asumas que todo está resuelto: confirma con el proveedor que la versión utilizada por tu dominio ya incluye el parche.