El miércoles 21 de octubre de 2026 se publicó una actualización de seguridad urgente para PHP. Esa actualización corregía dos vulnerabilidades graves que enseguida pasaron a llamarse PHP2Shell. Webs públicas neerlandesas como DigiD (el sistema de identificación digital del Gobierno neerlandés) y Overheid.nl, además de varias empresas de hosting, se desconectaron ese día por precaución. En este artículo te explicamos qué pasaba, aunque la tecnología no sea lo tuyo. Y te contamos con sinceridad lo que hicimos nosotros.

¿Tienes una página web en Theory7? Entonces no tienes que hacer nada. Hemos instalado las actualizaciones en todos nuestros servidores de hosting web y las hemos comprobado servidor por servidor. Para ello no tuvimos que desconectar por precaución ni una sola web. Si quieres comprobarlo tú mismo, en este artículo te explicamos cómo hacerlo.

Lo esencial de PHP2Shell

  • Qué: dos vulnerabilidades graves en PHP, CVE-2026-109618 y CVE-2026-109619, conocidas en conjunto como PHP2Shell.
  • Gravedad: 9,2 en una escala de 10. Un atacante podía tomar el control de un servidor web sin contraseña.
  • A quién afecta: a casi cualquier página web que funcione con PHP. Eso es aproximadamente el 70 % de la web.
  • Solución: PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12, publicadas el 21 de octubre de 2026.
  • En Theory7: la vía de ataque conocida, cerrada el miércoles por la mañana; todos los servidores, actualizados en la noche del 21 al 22 de octubre.

¿Qué es PHP, en realidad?

Una página web tiene dos caras. La parte visible la ves en tu navegador: textos, fotos, botones. La parte interna funciona en un servidor y se encarga de que la parte visible muestre lo correcto en el momento adecuado. Si rellenas un formulario de contacto, inicias sesión en una tienda online o añades algo a tu carrito, es la parte interna la que se ocupa de ello.

Compáralo con un restaurante. El comedor es lo que ve el cliente. La cocina es donde se hace el trabajo. PHP es el lenguaje con el que está montada esa cocina en muchísimas páginas web.

Y no es ninguna exageración. Según la empresa de análisis W3Techs, aproximadamente el 70 % de todas las webs cuya tecnología se conoce funcionan con PHP. WordPress está hecho en PHP, igual que WooCommerce, Joomla, Drupal y Magento, además de innumerables tiendas online, sistemas de reservas y portales de clientes. Un fallo en el propio PHP no es, por tanto, un fallo en una sola web. Es un fallo en los cimientos de una gran parte de internet.

¿Qué es exactamente PHP2Shell?

Unos investigadores encontraron dos fallos en la forma en que PHP gestiona la memoria de trabajo de un servidor. Mientras trabaja, un servidor guarda todo tipo de cosas en esa memoria. Si algo sale mal durante una petición, PHP debería limpiarlo todo correctamente. En determinadas situaciones, eso no se hacía bien.

Puedes compararlo con un hotel que vuelve a alquilar una habitación mientras el huésped anterior todavía tiene una tarjeta llave que funciona. Quien sepa cómo usar esa tarjeta entra en un sitio en el que no se le ha perdido nada. Con PHP2Shell, un atacante podía conseguir así que el servidor ejecutara sus propias órdenes.

Tres cosas hacían que PHP2Shell fuera tan grave:

  • No hacía falta ninguna contraseña. Un atacante podía intentarlo desde fuera, con una petición normal a una página web.
  • El atacante obtenía el control. En el argot técnico se llama ejecución remota de código (remote code execution): el servidor hace lo que el atacante le dice.
  • Estaba en el propio PHP. No en un plugin o en un tema, sino en la base. Casi todas las versiones de PHP desde 2012 eran vulnerables.

Las dos vulnerabilidades recibieron una puntuación de gravedad de 9,2 en una escala de 10. Las descripciones oficiales están en los avisos de seguridad de PHP sobre CVE-2026-109618 y CVE-2026-109619.

¿Cómo pudo pasar esto?

PHP existe desde 1995 y lo mantiene un gran grupo de voluntarios y empresas. En tanto código siempre hay fallos, y eso vale para todo el software. Estos dos estaban en un rincón con el que rara vez te encuentras: el momento en que un servidor se queda sin memoria en mitad de una petición. Estas excepciones son difíciles de probar, y por eso los fallos pasaron desapercibidos durante años.

Normalmente, una vulnerabilidad así se corrige en silencio. Los investigadores la comunican a los desarrolladores, que preparan una solución, y en un día acordado se publican a la vez la actualización y la explicación. Así, los administradores llevan ventaja a los atacantes. Los investigadores encontraron estas vulnerabilidades en agosto y las comunicaron a PHP. La actualización estaba prevista para el jueves 22 de octubre.

No salió así. El martes 20 de octubre se filtraron en internet los primeros detalles. Por eso PHP adelantó la actualización un día, al miércoles por la tarde. Según la empresa de seguridad Sansec, Cloudflare ya detectó los primeros intentos de ataque el miércoles por la mañana, antes incluso de que estuviera la actualización. Amazon informa incluso de un intento del 17 de octubre, cuatro días antes del anuncio.

Eso hizo que en los Países Bajos aquel miércoles fuera un día fuera de lo normal. DigiD, MijnOverheid y Overheid.nl, servicios online del Gobierno neerlandés, se desconectaron temporalmente por precaución. También varias empresas de hosting desconectaron las webs de sus clientes a la espera de la actualización.

¿Qué tiene que ver la IA con PHP2Shell?

En esta historia, la IA tuvo un papel en los dos bandos.

Al encontrarlo. Los investigadores que encontraron PHP2Shell trabajaron con modelos de IA de empresas como OpenAI y Google. Google escribe que su modelo Gemini contribuyó en gran medida, desde encontrar la vulnerabilidad hasta comprobar la solución. La IA puede leer cantidades enormes de código en poco tiempo y ver patrones que a las personas se nos escapan. Es una buena noticia: los fallos antiguos y escondidos salen a la luz antes.

Por el otro lado. La misma tecnología está también al alcance de personas con malas intenciones. Convertir la descripción de una vulnerabilidad en un ataque que funcione antes costaba días o semanas de investigación. Con la IA va mucho más rápido. Por eso el tiempo entre "se conoce una vulnerabilidad" y "los primeros ataques" es cada vez más corto. Con PHP2Shell fue menos de un día.

Para una empresa de hosting, eso significa que instalar una actualización "en algún momento de esta semana" ya no basta. Tienes que saber de antemano exactamente qué funciona en cada servidor y poder actuar al instante en cuanto sale la actualización. Nosotros también usamos automatización e IA para ello, por ejemplo para revisar todos nuestros servidores a la vez y que no quede en ninguna parte una versión de PHP olvidada. Cada intervención en un servidor se hizo solo después de que la aprobara uno de nuestros administradores de sistemas.

¿Qué hicimos nosotros contra PHP2Shell?

Con nosotros eliges tú qué versión de PHP usa tu página web, desde versiones antiguas hasta la más reciente. Eso significa que en nuestros servidores funcionan muchas versiones de PHP distintas a la vez, y había que actualizarlas todas.

La decisión más importante la tomamos el miércoles por la mañana. La vulnerabilidad funcionaba a través de una entrada conocida: un componente de PHP que casi ninguna web utiliza. Desactivamos ese componente en todos nuestros servidores de hosting web y servidores administrados, antes incluso de que estuviera la actualización. Gracias a eso pudimos mantener las webs online en lugar de desconectarlas por precaución. Además, actualizamos ya todas las versiones de PHP a la versión más reciente disponible, para que la actualización real se pudiera hacer después más rápido.

Cronología de PHP2Shell (hora de los Países Bajos)
CuándoQué pasó
Agosto de 2026Unos investigadores encuentran las vulnerabilidades, en parte con IA, y las comunican a PHP.
Martes 20 de octubreSe filtran detalles y PHP adelanta la actualización. Hacemos un inventario de todas las versiones de PHP en todos nuestros servidores, también en nuestros sistemas internos.
Miércoles 21 de octubre, por la mañanaCerramos la entrada conocida para el ataque en todos nuestros servidores. Cloudflare detecta los primeros intentos de ataque.
Miércoles 21 de octubre, durante el díaWebs públicas y varias empresas de hosting se desconectan por precaución. Nosotros no tenemos que desconectar ninguna web.
Miércoles 21 de octubre, 15:38PHP publica la actualización. En menos de una hora, nuestro primer servidor está actualizado.
Miércoles por la nocheEl PHP estándar de todos nuestros servidores funciona con la nueva versión. CloudLinux publica versiones actualizadas, también para versiones antiguas de PHP.
Noche del miércoles al jueves 22 de octubreTodas las versiones de PHP de todos nuestros servidores de hosting web están actualizadas.
Jueves 22 de octubre, por la mañanaControl final en todos los servidores y sistemas internos: no se ha olvidado nada.
Cronología de PHP2Shell desde agosto hasta el jueves 22 de octubre de 2026: desde la comunicación de las vulnerabilidades, pasando por los primeros ataques y la actualización de PHP, hasta el control final en todos nuestros servidores
La cronología de PHP2Shell de un vistazo (hora de los Países Bajos).

Las versiones de PHP que eliges para tu página web vienen de CloudLinux, el sistema operativo de nuestros servidores. CloudLinux también prepara soluciones para versiones antiguas de PHP para las que el propio PHP ya no publica actualizaciones. Después de la actualización, comprobamos en cada servidor que la solución estaba realmente aplicada, y probamos las webs antes y después.

¿Qué podría haber causado PHP2Shell?

Supón que un servidor no se hubiera actualizado a tiempo. ¿Qué podría hacer entonces un atacante con una página web?

  • Robar datos. La base de datos de una web suele contener nombres, direcciones, pedidos y datos de acceso de clientes.
  • Interceptar pagos. En una tienda online se puede colocar a escondidas código que captura los datos de pago de los visitantes, sin que el propietario se dé cuenta.
  • Leer secretos. A través de la memoria del servidor pueden filtrarse contraseñas y claves, por ejemplo las de la conexión con tu proveedor de pagos o tu programa de contabilidad.
  • Usar tu web de forma indebida. Para páginas de inicio de sesión falsas, spam o para redirigir a los visitantes a webs fraudulentas. Consecuencia: Google avisa a los visitantes de que tu web puede estar hackeada, y tu correo acaba en listas negras.

Quizá pienses: mi web es demasiado pequeña para interesar a nadie. Por desgracia, no funciona así. Los atacantes no buscan víctimas a mano. Usan programas que rastrean todo internet en busca de webs vulnerables, a las pocas horas de un anuncio así. Cualquier web con una versión de PHP vulnerable es entonces un objetivo, grande o pequeña.

Y el daño no se queda en lo técnico. Si se filtran datos personales, como empresario tienes que notificarlo a la Autoriteit Persoonsgegevens (la autoridad neerlandesa de protección de datos). A eso se suman los costes de recuperación, la pérdida de ingresos y un golpe a la confianza de tus clientes.

Con nosotros, cada página web funciona en su propio entorno aislado. Si algo sale mal en algún sitio, una intrusión en una web no pasa sin más a las vecinas. Es una capa de seguridad adicional, pero no sustituye a actualizar a tiempo.

¿Tienes que hacer algo tras PHP2Shell?

Por la actualización de PHP en sí, no. Aun así, te damos algunos consejos:

  • Compruébalo si quieres. En nuestro artículo de la base de conocimientos te explicamos cómo ver que la actualización está instalada y por qué tu número de versión a veces no cambia.
  • ¿Usas PHP 8.1 o una versión anterior? Esta vez también salió una solución para esas versiones, pero no siempre es así. Pásate a PHP 8.2 o superior. En este artículo te explicamos cómo elegir la versión adecuada.
  • Mantén tu web al día. Nosotros nos ocupamos del servidor y de PHP. WordPress, los plugins y los temas los actualizas tú. Encontrarás más consejos en proteger tu web: 8 consejos contra los hackers.
  • ¿Tienes una web en otro sitio o un servidor propio? Entonces comprueba si PHP está actualizado a la versión 8.2.35, 8.3.36, 8.4.27 u 8.5.12, o posterior.

El estado actual de incidencias y mantenimientos lo encontrarás siempre en status.theory7.net. Si tienes dudas sobre tu propia web, abre un ticket con tu dominio. Lo revisamos encantados.

Las vulnerabilidades en el software seguirán existiendo, también en la base de internet. Lo que cuenta es la rapidez con que se corrigen. A eso nos hemos dedicado esta semana, y así seguiremos haciéndolo.

Preguntas frecuentes

¿Qué es PHP2Shell?

PHP2Shell es el nombre popular de dos vulnerabilidades graves en PHP (CVE-2026-109618 y CVE-2026-109619), anunciadas el 21 de octubre de 2026. Un atacante podía usarlas para tomar el control de un servidor web sin contraseña. PHP las corrigió en las versiones 8.2.35, 8.3.36, 8.4.27 y 8.5.12.

¿Era vulnerable mi web en Theory7?

En principio, cualquier web que funcione con PHP era vulnerable hasta la actualización. El miércoles 21 de octubre por la mañana ya habíamos cerrado una entrada conocida para el ataque y después instalamos las actualizaciones en todos nuestros servidores de hosting web, las últimas en la noche del 21 al 22 de octubre.

¿Por qué otras webs se desconectaron y las de Theory7 no?

Quien no podía esperar a la actualización sin riesgo desconectó las webs por precaución. Nosotros ya habíamos cerrado la entrada conocida para el ataque el miércoles por la mañana, antes de que estuviera la actualización. Por eso las webs alojadas con nosotros pudieron seguir online mientras instalábamos la actualización.

¿Tengo que hacer algo yo?

Por la actualización de PHP, no: la hemos instalado nosotros. Si usas PHP 8.1 o una versión anterior, te recomendamos pasarte a PHP 8.2 o superior. Además, mantén al día tu propia web, como WordPress y los plugins.

¿Cómo compruebo si mi PHP está actualizado?

Mira la fecha de compilación (build) de tu versión de PHP. Si pone 21 de octubre de 2026 o posterior, la actualización está incluida. En nuestro artículo de la base de conocimientos sobre la actualización de seguridad de PHP te explicamos paso a paso cómo comprobarlo.

Fuentes