Se abre en una pestaña nueva

Seguridad · 23 de octubre de 2026

La vulnerabilidad crítica de PHP: qué pasó con PHP 8.1

El 21 de octubre se publicaron dos fallos críticos de PHP que permiten tomar el control de una web sin contraseña. Te cuento qué pasó, por qué PHP 8.1 era el caso más delicado y cómo actué en las webs que mantengo.

Imagen pendiente: alerta de seguridad en PHP

El pasado 21 de octubre, el equipo de PHP publicó una actualización de seguridad urgente. No era una más: corregía dos vulnerabilidades críticas, bautizadas como «PHP2Shell», que permiten a un atacante ejecutar código en el servidor sin usuario ni contraseña. Dicho de otra forma: tomar el control de la web.

PHP es el lenguaje sobre el que funciona WordPress, y también Drupal, Joomla, PrestaShop o Magento. Por eso el problema afectaba a casi cualquier web, tuviera los plugins al día o no.

Qué ocurrió exactamente

Los fallos están registrados como CVE-2026-109618 y CVE-2026-109619, los dos con una puntuación de 9,2 sobre 10. Están en el propio intérprete de PHP, en cómo gestiona la memoria entre una visita y la siguiente, no en WordPress ni en ningún plugin. Por eso actualizar WordPress no servía de nada: había que actualizar PHP.

Además, los detalles se filtraron un día antes de la publicación oficial, y ese mismo 21 de octubre ya se detectaban los primeros intentos de ataque. Fue una de esas semanas en las que llegar unas horas tarde importa.

  • Gravedad: crítica. Ejecución remota de código sin necesidad de iniciar sesión.
  • A quién afecta: a cualquier web que funcione con PHP, sea cual sea el gestor de contenidos.
  • Versiones corregidas: PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12.

Por qué PHP 8.1 era el caso más delicado

PHP 8.1 dejó de recibir soporte oficial el 31 de diciembre de 2025, así que no hay una versión 8.1 corregida. Solo existen unos parches mínimos para quien compila PHP por su cuenta, y la corrección que han trasladado algunas distribuciones de Linux y servicios de soporte de pago.

En la práctica, una web en PHP 8.1 dependía por completo de que su alojamiento hubiera aplicado uno de esos parches, y el número de versión no siempre lo deja ver. Y todavía hay muchas webs de pymes en 8.1, o en versiones anteriores, porque «funcionan y nadie las ha tocado».

Cómo lo resolví en las webs que mantengo

Me enteré a primera hora por la alerta de Patchstack, el servicio que uso para vigilar las vulnerabilidades de las webs que mantengo. No tuve que esperar a leerlo en la prensa ni a que un cliente me llamara preocupado.

Imagen pendiente: captura del aviso de Patchstack del 21 de octubre de 2026
Aviso de Patchstack sobre las vulnerabilidades de PHP del 21 de octubre de 2026.

A partir de ahí, lo que marcó la diferencia fue el trabajo previo. Tengo un inventario al día de cada web (alojamiento, versión de PHP, plugins y copias de seguridad), así que en pocos minutos sabía cuáles estaban expuestas y en qué orden actuar:

  1. Revisé la versión de PHP de cada web y separé las que seguían en 8.1 o anteriores.
  2. Comprobé con cada alojamiento que la versión corregida o el parche estaba aplicado.
  3. Pasé a una versión con soporte las webs que seguían en PHP 8.1, después de probar plugins y tema en una copia para que el cambio no rompiera nada.
  4. Revisé registros y archivos en busca de cualquier rastro de intrusión.

Gracias a eso pude resolverlo rápido, sin carreras ni sustos de última hora.

Qué deberías hacer si tienes una web en WordPress

Imagen pendiente: captura de Salud del sitio de WordPress con la versión de PHP
En Salud del sitio puedes ver la versión de PHP con la que funciona tu web.
  1. Mira qué versión de PHP usa tu web: en el escritorio de WordPress, Herramientas › Salud del sitio › Información › Servidor.
  2. Si es 8.1 o anterior, pregunta a tu alojamiento si ha aplicado el parche y planifica el cambio a PHP 8.3 o superior. PHP 8.2 solo recibe correcciones de seguridad hasta el 31 de diciembre de 2026.
  3. Antes de cambiar de versión, prueba la web en una copia: algunos plugins antiguos no son compatibles con las versiones nuevas.
  4. Si no puedes actualizar de inmediato, tu alojamiento puede aplicar medidas temporales en la configuración de PHP, pero no sustituyen a la actualización.

La lección: mantener una web es enterarse a tiempo

Mantener una web no consiste solo en pulsar «actualizar» de vez en cuando. Consiste en saber qué tienes, vigilar lo que pasa y tener un plan cuando algo se tuerce. Esa semana, la diferencia entre unas horas y unos días de exposición la marcó precisamente eso.

Si no sabes en qué versión de PHP está tu web, o quién se encargaría si mañana pasara algo así, hablemos de mantenimiento.

Contacto

¿Hablamos de tu web?

Cuéntame qué necesitas y te respondo personalmente, sin compromiso.