Php2shell vulnerabilidades criticas php

PHP2Shell: dos vulnerabilidades críticas en PHP. Cómo proteger tu web

El equipo de desarrollo de PHP ha publicado una actualización de seguridad extraordinaria para corregir dos vulnerabilidades críticas que podrían permitir a un atacante ejecutar código malicioso en un servidor web sin necesidad de autenticarse.

Los fallos, conocidos conjuntamente como PHP2Shell, están identificados como CVE-2026-109618 y CVE-2026-109619. Ambos tienen una gravedad de 9,2 sobre 10 según el sistema de evaluación CVSS 4.0.

La importancia de esta alerta radica en que las vulnerabilidades no afectan a una aplicación concreta, sino al propio intérprete de PHP, el lenguaje de programación sobre el que funcionan millones de páginas web y plataformas como WordPress, WooCommerce, Drupal, Joomla o aplicaciones desarrolladas a medida.

El 21 de octubre de 2026 se han publicado las versiones corregidas PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35.

La recomendación oficial es actualizar cuanto antes los sistemas afectados.

¿Qué es PHP2Shell?

PHP2Shell es la denominación utilizada para identificar dos fallos de seguridad relacionados con la gestión interna de memoria de PHP.

Cuando un visitante accede a una página web, el servidor utiliza PHP para ejecutar las instrucciones necesarias, consultar información, procesar formularios o generar el contenido que aparece en pantalla.

Durante estas operaciones, PHP reserva y libera memoria constantemente. Las vulnerabilidades descubiertas permiten que, bajo determinadas circunstancias, el intérprete gestione incorrectamente esa memoria, haciendo posible que un atacante manipule su comportamiento.

El problema puede dar lugar a lo que se conoce como ejecución remota de código (RCE, por sus siglas en inglés).

Esto significa que un atacante podría conseguir ejecutar instrucciones propias en el servidor vulnerable sin disponer previamente de una cuenta de usuario o permisos de administración.

Dependiendo de los permisos del proceso PHP y de la configuración del alojamiento, un ataque exitoso podría permitir modificar archivos, acceder a información sensible, introducir código malicioso o comprometer las aplicaciones alojadas.

Conviene aclarar que la existencia de estas vulnerabilidades no significa que todas las páginas desarrolladas en PHP hayan sido comprometidas. El riesgo depende de la versión instalada, del entorno de ejecución y de las condiciones que permitan aprovechar los fallos.

Las dos vulnerabilidades críticas descubiertas

Aunque ambas comparten consecuencias potencialmente graves, su funcionamiento es diferente.

CVE-2026-109618: corrupción de memoria por agotamiento de recursos

Esta vulnerabilidad está relacionada con la gestión de situaciones en las que PHP se queda sin memoria disponible durante el procesamiento de una petición.

En determinadas condiciones, PHP puede interrumpir una operación antes de que sus estructuras internas se hayan inicializado correctamente.

Posteriormente, durante la limpieza de esa petición, el intérprete podría intentar utilizar información de memoria que no se encuentra en un estado válido.

Mediante peticiones HTTP especialmente preparadas, un atacante podría provocar esta situación y aprovechar la corrupción de memoria para ejecutar código.

El equipo de seguridad de PHP ha confirmado que el riesgo resulta especialmente elevado cuando PHP se ejecuta como módulo de Apache mediante mod_php, ya que existe una vía de explotación demostrada que puede activarse incluso antes de ejecutar el código de la aplicación.

CVE-2026-109619: utilización de información de memoria liberada

La segunda vulnerabilidad está relacionada con la conservación incorrecta de referencias a memoria utilizada por peticiones anteriores.

En determinadas circunstancias, un proceso PHP puede mantener referencias internas a información cuya memoria ya ha sido liberada.

Si ese mismo proceso atiende posteriormente otra petición y vuelve a utilizar dichas referencias, puede producirse una situación conocida como use-after-free.

Este comportamiento podría permitir a un atacante acceder a información de memoria o conseguir la ejecución de código malicioso.

A diferencia del primer fallo, algunas de las vías de explotación requieren que se produzcan determinadas operaciones o errores durante el procesamiento de las peticiones.

En ambos casos, se trata de vulnerabilidades del propio PHP, no de errores introducidos necesariamente por los desarrolladores de una página web.

¿Qué versiones de PHP están afectadas y cuáles solucionan el problema?

El equipo oficial de PHP ha publicado actualizaciones de seguridad para las cuatro ramas que actualmente mantienen soporte.

Versión de PHP Primera versión corregida
PHP 8.5 PHP 8.5.12
PHP 8.4 PHP 8.4.27
PHP 8.3 PHP 8.3.36
PHP 8.2 PHP 8.2.35
PHP 8.1 y anteriores Sin actualización ordinaria oficial

Las instalaciones de estas cuatro ramas que utilicen versiones anteriores a las indicadas deben actualizarse.

La situación es más delicada para quienes siguen utilizando PHP 8.1, PHP 8.0, PHP 7.x u otras versiones antiguas.

Estas ramas ya han finalizado su ciclo de soporte oficial y no reciben las actualizaciones habituales del proyecto PHP.

Como medida excepcional, el equipo de seguridad ha facilitado correcciones de código para PHP 7.4, 8.0 y 8.1, destinadas a facilitar su aplicación por parte de proveedores de mantenimiento extendido y administradores especializados. Esto no significa que vuelvan a ser versiones oficialmente soportadas.

Algunos proveedores de alojamiento y distribuciones Linux también pueden incorporar las correcciones a sus paquetes mediante backports, sin modificar necesariamente el número principal de versión.

Por tanto, no basta con conocer la versión de PHP: también hay que comprobar si el proveedor ha incorporado las correcciones de seguridad correspondientes.

Además, debe tenerse en cuenta que PHP 8.2 finalizará su soporte oficial el 31 de diciembre de 2026, por lo que resulta recomendable planificar su migración a una rama más reciente.

¿Afecta PHP2Shell a WordPress y WooCommerce?

Sí, las páginas web desarrolladas con WordPress y las tiendas online basadas en WooCommerce pueden verse afectadas si se ejecutan sobre una versión vulnerable de PHP.

WordPress utiliza PHP para desarrollar gran parte de sus funcionalidades: cargar contenidos, gestionar usuarios, procesar formularios, ejecutar plugins e interactuar con la base de datos.

Sin embargo, hay un aspecto especialmente importante que conviene entender:

Actualizar WordPress, sus plugins y sus temas no soluciona por sí solo las vulnerabilidades PHP2Shell.

Esto se debe a que PHP es un componente del entorno del servidor, independiente de las actualizaciones habituales del gestor de contenidos.

Por ejemplo, una página puede tener instalada la última versión de WordPress, utilizar plugins completamente actualizados y seguir funcionando sobre una versión de PHP vulnerable.

Además, estos fallos pueden afectar a otras aplicaciones PHP instaladas en el mismo servidor, como intranets, plataformas de gestión, tiendas online o desarrollos personalizados.

El riesgo tampoco desaparece simplemente porque la página tenga un sistema de protección de acceso a la administración de WordPress.

Algunas vías de explotación pueden iniciarse mediante peticiones web sin autenticación y, en determinadas configuraciones, antes de que se ejecute el código de WordPress.

Por ello, la actualización debe realizarse sobre el entorno PHP que utiliza realmente la aplicación.

¿Cómo comprobar qué versión de PHP utiliza tu página web?

Existen varias formas de comprobarlo, dependiendo del tipo de alojamiento y de los permisos disponibles.

Consultar la versión de PHP desde WordPress

WordPress permite conocer esta información directamente desde su panel de administración.

Para ello, accede a:

Herramientas → Salud del sitio → Información → Servidor

En este apartado encontrarás la versión de PHP que utiliza tu instalación, además de otros datos relevantes sobre la configuración del servidor.

Si la versión pertenece a una rama afectada y no incluye las correcciones publicadas, será necesario contactar con el proveedor de alojamiento o revisar las posibilidades de actualización.

Comprobar PHP desde Plesk

Si tu alojamiento utiliza el panel de control Plesk, puedes consultar la configuración desde la sección Sitios web y dominios → Configuración de PHP.

Plesk permite trabajar con distintas versiones de PHP y diferentes controladores de ejecución, por lo que conviene revisar la configuración asignada a cada dominio.

También es importante comprobar que el servidor dispone de los paquetes de seguridad más recientes.

Cambiar la versión seleccionada desde el panel no garantiza automáticamente que se esté utilizando una compilación corregida si el proveedor todavía no ha distribuido la actualización.

Servidores VPS y alojamientos administrados

En servidores privados virtuales (VPS), servidores dedicados o infraestructuras gestionadas directamente, la actualización suele depender del administrador del sistema.

En estos casos, conviene revisar los paquetes instalados, los repositorios utilizados y las versiones de PHP que ejecutan realmente las aplicaciones.

También es necesario comprobar los distintos procesos y servicios PHP, ya que la versión utilizada desde la línea de comandos puede ser diferente de la que atiende las peticiones web.

Si utilizas un hosting administrado, lo recomendable es consultar al proveedor cuándo ha aplicado las correcciones de PHP2Shell y si es necesario realizar alguna intervención adicional.

¿Qué hacer para proteger tu web frente a PHP2Shell?

La medida principal recomendada por el equipo de seguridad de PHP es instalar las versiones corregidas.

No obstante, una actualización de estas características debe realizarse siguiendo un procedimiento adecuado para evitar problemas de disponibilidad o compatibilidad.

1. Identificar las instalaciones afectadas

Lo primero es localizar todas las páginas web y aplicaciones que utilizan PHP, prestando especial atención a aquellas accesibles públicamente desde Internet.

También deben revisarse los entornos de pruebas, subdominios, instalaciones antiguas y aplicaciones que puedan seguir funcionando con versiones de PHP sin soporte.

2. Realizar una copia de seguridad

Antes de efectuar modificaciones importantes en el servidor, conviene disponer de una copia de seguridad reciente de los archivos y bases de datos.

La copia debe poder recuperarse en caso de producirse una incidencia durante la actualización.

3. Actualizar PHP a una versión corregida

Es necesario instalar los paquetes oficiales o las actualizaciones de seguridad proporcionadas por el sistema operativo o proveedor de alojamiento.

Cuando se utilicen paquetes con correcciones incorporadas mediante backports, debe comprobarse expresamente que incluyen las soluciones para ambas vulnerabilidades.

Tras la actualización, también puede ser necesario reiniciar los servicios o procesos PHP correspondientes para que comiencen a utilizar el código corregido.

4. Comprobar la compatibilidad de la página web

Aunque las actualizaciones de seguridad dentro de una misma rama suelen introducir menos cambios que una migración entre versiones principales, siempre conviene comprobar el correcto funcionamiento de la aplicación.

En WordPress es especialmente recomendable revisar los formularios, el acceso de usuarios, las funcionalidades de plugins y, si existe una tienda online, los procesos de compra y pago.

Si se necesita migrar desde una versión antigua de PHP a una más reciente, puede resultar conveniente probar previamente los cambios en un entorno de desarrollo o preproducción.

5. Verificar que las correcciones se han aplicado

Una vez realizada la intervención, hay que comprobar la versión efectiva utilizada por la web y revisar que los servicios funcionan correctamente.

También es recomendable consultar los registros de errores del servidor y monitorizar posibles incidencias después de la actualización.

¿Qué ocurre si no puedo actualizar PHP inmediatamente?

En determinadas instalaciones antiguas, actualizar PHP puede requerir adaptar código, sustituir extensiones o revisar aplicaciones que no son compatibles con versiones recientes.

El equipo de seguridad de PHP ha publicado algunas medidas temporales destinadas a reducir determinadas vías de explotación, relacionadas principalmente con los límites de procesamiento de peticiones, la gestión de memoria y ciertas funcionalidades de sesión.

Sin embargo, estas medidas no proporcionan una protección completa y no sustituyen a la actualización.

Además, algunos cambios de configuración, como eliminar el límite de memoria de PHP, pueden introducir riesgos adicionales de consumo de recursos o afectar a la estabilidad del servidor si se aplican sin las precauciones necesarias.

Por ello, no recomendamos modificar estos parámetros indiscriminadamente sin una evaluación técnica previa.

Mientras se prepara la actualización, también puede ser conveniente restringir temporalmente el acceso público a determinadas aplicaciones, revisar las medidas de protección del servidor y mantener activos los sistemas de monitorización.

Los cortafuegos de aplicaciones web (WAF), como los que ofrecen algunos proveedores de infraestructura, pueden ayudar a bloquear determinados intentos de ataque, pero no garantizan que todas las vías de explotación queden neutralizadas.

De hecho, Cloudflare ha comunicado que ha desplegado reglas de protección específicas frente a PHP2Shell y que ha observado tráfico de ataque dirigido a sus clientes.

Estas circunstancias refuerzan la necesidad de aplicar las correcciones oficiales cuanto antes.

¿Significa esta alerta que mi web ha sido hackeada?

No necesariamente.

Que una página web utilice una versión vulnerable de PHP significa que puede estar expuesta al problema, pero no demuestra que se haya producido un acceso no autorizado.

No obstante, se han comunicado intentos de explotación de ambas vulnerabilidades, por lo que es importante no ignorar la alerta.

En instalaciones que hayan permanecido expuestas puede ser conveniente revisar los registros del servidor, la actividad anómala, los cambios inesperados en archivos y la existencia de procesos o conexiones sospechosas.

Si existen indicios de compromiso, será necesario realizar un análisis de seguridad más profundo.

Actualizar PHP corrige las vulnerabilidades, pero no elimina por sí solo posibles modificaciones maliciosas que un atacante hubiera conseguido introducir previamente.

La importancia del mantenimiento técnico de una página web

PHP2Shell demuestra que la seguridad de una página web no depende exclusivamente de la calidad de su diseño, de los plugins instalados o del propio gestor de contenidos.

Una aplicación aparentemente actualizada puede seguir expuesta si el entorno sobre el que funciona no recibe un mantenimiento adecuado.

Por ello, la seguridad web debe contemplarse de forma integral, incluyendo el sistema operativo, el servidor web, PHP, las bases de datos, las aplicaciones y sus dependencias.

Mantener estos componentes actualizados, supervisar las alertas de seguridad y disponer de procedimientos de recuperación ayuda a reducir significativamente los riesgos.

En Zonsai IT Solutions trabajamos en el desarrollo, alojamiento y mantenimiento de páginas web y aplicaciones, prestando atención tanto al funcionamiento de los sitios como a la infraestructura tecnológica que los soporta.

Si tienes dudas sobre la versión de PHP que utiliza tu página web, su compatibilidad con las nuevas versiones o el estado de seguridad de tu alojamiento, podemos ayudarte a revisar la situación y valorar las actuaciones necesarias.

Una página web segura no es únicamente aquella que funciona correctamente, sino aquella que se mantiene y actualiza de forma continua.


Fuentes oficiales y referencias

Artículo elaborado con la información oficial y las recomendaciones de seguridad disponibles a 21 de octubre de 2026.