Vulnerabilidad crítica en PHP (PHP2Shell): qué es y cómo proteger tu web

Publicado el 22 de octubre de 2026. La situación puede cambiar en los próximos días, así que revisa las fuentes al final del artículo para ver novedades.

El 21 de octubre de 2026 se publicaron parches de emergencia para dos vulnerabilidades críticas en el núcleo de PHP, el lenguaje en el que funcionan millones de sitios web, incluido WordPress. Se identifican como CVE-2026-109618 y CVE-2026-109619, y en conjunto se las conoce como PHP2Shell.

Si tienes una página web, una tienda online o administras sitios de clientes, este artículo es para ti.

Resumen rápido

  • Las fallas permiten ejecución remota de código sin autenticación: un atacante no necesita cuenta ni contraseña.
  • Afectan a todas las versiones de PHP desde la 5.4 hasta la 8.5.11.
  • El problema está en PHP, no en WordPress ni en tus plugins. Actualizar plugins o temas no lo soluciona.
  • Ya hay parches oficiales para PHP 8.2, 8.3, 8.4 y 8.5.
  • Las versiones 8.1 y anteriores no tienen parche oficial normal, aunque algunos proveedores han preparado el suyo.
  • La agencia estadounidense de ciberseguridad (CISA) pide parchear de inmediato, empezando por los sistemas expuestos a internet.

Qué es PHP2Shell

PHP2Shell son dos vulnerabilidades de seguridad de memoria en la forma en que PHP inicia y termina el tratamiento de una petición web. Ambas fueron valoradas con una gravedad de 9.2 sobre 10 por el equipo de PHP, y algunas firmas de seguridad, como watchTowr, las calificaron con 10 sobre 10.

En términos sencillos: un atacante puede enviar a tu servidor una petición especialmente preparada y, a partir de ahí, ejecutar sus propias órdenes. Eso puede traducirse en robo de datos, instalación de malware, borrado o secuestro de la web, o uso de tu servidor para atacar a terceros.

Las dos fallas, según los avisos oficiales, son:

  • CVE-2026-109618: ejecución remota de código mediante corrupción de memoria cuando PHP se queda sin ella mientras procesa una petición. Se puede provocar con una subida de formulario especialmente construida.
  • CVE-2026-109619: ejecución remota de código por estado global obsoleto: información interna de una petición que sobrevive a la siguiente y puede ser aprovechada. Las rutas de ataque confirmadas son la función de progreso de subida de sesiones y, solo en PHP 8.5, los rastros de errores fatales.

Los detalles técnicos ya son públicos, por lo que se espera que aparezcan exploits funcionales en poco tiempo. Cloudflare ha indicado que vio tráfico de ataque antes de la publicación oficial de los parches.

Quién debe actualizar ahora

Debes actuar de inmediato si:

  • Tienes un servidor propio o VPS con PHP, sea con Apache, Nginx, PHP-FPM o LiteSpeed.
  • Tu web usa WordPress, WooCommerce, Joomla, Drupal, Laravel, Magento, PrestaShop, Moodle o cualquier aplicación hecha en PHP.
  • Usas Docker con imágenes de PHP.
  • Administras webs de clientes.
  • Tienes hosting compartido con cPanel: revisa la versión de PHP de tu sitio aunque creas que tu proveedor se encarga.

El riesgo es algo menor, aunque conviene verificarlo, si:

  • Usas un hosting gestionado: muchos proveedores parchearon en pocas horas. Pregunta para confirmarlo.
  • Tu web pasa por Cloudflare: tiene reglas de firewall para ambas vulnerabilidades activas por defecto, pero son una capa extra y no sustituyen el parche.

Qué versiones están corregidas

Rama de PHPVersión corregida
PHP 8.58.5.12
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35
PHP 8.1 y anterioresSin lanzamiento oficial normal

Y si uso PHP 8.1 o una versión anterior

El proyecto PHP no lanza versiones regulares para ramas sin soporte. Dada la gravedad, sí publicó parches mínimos de código fuente para las ramas 7.4, 8.0 y 8.1, y las distribuciones de Linux y proveedores de soporte a largo plazo recibieron las correcciones con antelación. Que exista un paquete parcheado para tu versión depende de quien lo empaqueta.

En la práctica:

  • cPanel instaló correcciones propias para PHP 7.4 a 8.1, pero no por debajo de 7.4.
  • CloudLinux publicó builds parcheados desde PHP 5.2.
  • Algunos hostings gestionados aplicaron sus propios backports.

Aunque tu proveedor te cubra, esos parches no se garantizan en futuras vulnerabilidades. La recomendación sensata es migrar a PHP 8.3 u 8.4.

Cómo actualizar paso a paso

1. Comprueba tu versión de PHP

  • En WordPress: ve a Herramientas, Salud del sitio, pestaña Información, sección Servidor.
  • En un servidor, ejecuta en la terminal:

bash

php -v

2. Haz una copia de seguridad

Respalda archivos y base de datos antes de cambiar nada.

3. Actualiza según tu tipo de alojamiento

Hosting con cPanel

Entra en tu panel, abre MultiPHP Manager y cambia tu sitio a PHP 8.3 o 8.4.

Otros paneles (Plesk, Hostinger, Cloudways, etc.)

Busca la opción de versión de PHP en la configuración del sitio y selecciona 8.3 u 8.4. Si no la encuentras, escribe a soporte y pide confirmación de que tienen el parche de los CVE-2026-109618 y CVE-2026-109619.

Servidor propio con Debian o Ubuntu

bash

sudo apt update && sudo apt install --only-upgrade 'php8.*'

Actualiza todos los paquetes de PHP a la vez, no solo uno.

Docker

Descarga la imagen nueva y reconstruye tu contenedor. Las imágenes oficiales ya incluyen 8.2.35, 8.3.36, 8.4.27 y 8.5.12, y las etiquetas móviles como php:8.4-apache apuntan a ellas.

bash

docker pull php:8.4-apache

4. Reinicia los servicios

En un servidor propio, reinicia PHP-FPM y tu servidor web para que el cambio se aplique. Ajusta los nombres a tu instalación:

bash

sudo systemctl restart php8.3-fpm apache2

5. Verifica que el parche está aplicado

Vuelve a comprobar la versión. En Debian y Ubuntu, los parches suelen aplicarse como backports y el número de versión puede no cambiar. En ese caso, revisa el historial de cambios del paquete y busca la mención a los CVE:

bash

apt changelog php8.3-fpm

6. Prueba tu sitio

Revisa formularios, proceso de compra, subida de archivos y plugins. Los plugins y temas antiguos a veces fallan al cambiar a una versión más reciente de PHP, así que conviene probar en un entorno de pruebas si es posible.

Si no puedes actualizar hoy

Estas medidas reducen la exposición, pero no son una solución. El propio equipo de PHP afirma que no existe mitigación completa y que actualizar es la única opción segura.

  • Desactiva la subida con progreso de sesión en el php.ini o en el pool de PHP-FPM y reinicia PHP:

ini

session.upload_progress.enabled = 0
  • Mantén desactivado session.auto_start. Si algún archivo .user.ini, .htaccess o php.ini los activa, el ajuste de tu proveedor puede quedar anulado. Si tu aplicación necesita sesiones, añade session_start() donde haga falta.
  • Si usas Cloudflare, comprueba que el WAF está activo. En planes de pago, verifica que el Managed Ruleset esté en modo bloqueo.
  • Si usas PHP 8.1 o anterior sin parche de tu proveedor y no puedes migrar, la CISA recomienda poner el sistema fuera de línea hasta poder actualizarlo.

Existen otras mitigaciones provisionales en el aviso oficial, como quitar el límite de memoria o limitar el tamaño de las peticiones. Son medidas con efectos secundarios que pueden romper tu sitio, y los propios proveedores recomiendan instalar el parche en lugar de aplicarlas.

Qué hacer después de actualizar

  • Revisa los registros de acceso en busca de peticiones extrañas de subida de archivos.
  • Busca archivos PHP nuevos o modificados que no reconozcas.
  • Comprueba que no haya usuarios administradores que tú no creaste.
  • Presta atención a una lentitud inusual o a un consumo anormal de recursos.

Si encuentras algo sospechoso, busca ayuda profesional de inmediato. Si tu sitio estuvo expuesto antes de aplicar el parche, considera cambiar contraseñas y claves de acceso.

Aviso importante sobre el fin de soporte de PHP 8.2

PHP 8.2 llegará al final de su vida útil el 31 de diciembre de 2026 y dejará de recibir correcciones de seguridad. Si vas a actualizar ahora, lo más recomendable es ir directamente a PHP 8.3 o 8.4 para no tener que repetir el proceso en dos meses.

Preguntas frecuentes

¿Actualizar WordPress y mis plugins me protege? No. La vulnerabilidad está en PHP, así que debes actualizar PHP en tu servidor o panel de hosting.

¿Mi web en hosting compartido está en riesgo? Puede estarlo. Muchos proveedores ya aplicaron parches, pero conviene comprobar tu versión de PHP y confirmar con soporte.

¿Necesito tener una cuenta o ser el objetivo de alguien para que me ataquen? No. Los ataques automatizados buscan servidores vulnerables de forma masiva, sin importar el tamaño ni el tipo de sitio.

¿Cloudflare es suficiente? Es una capa adicional útil, pero ni Cloudflare ni los expertos la consideran un sustituto de actualizar PHP.

¿Qué versión de PHP me conviene? PHP 8.3 u 8.4, con el parche aplicado.

Fuentes y enlaces oficiales

Este artículo es informativo y no sustituye el consejo de un profesional de seguridad. Si administras sistemas críticos, consulta con un especialista.

Si te gustó comparte este Contenido:

taller presencia digital profesional
funnel facil

Suscríbete a nuestro Canal de Youtube

Recibe lo último en cursos y tutoriales de Marketing Digital

Quizás te pueda interesar…

No se encontraron resultados

La página solicitada no pudo encontrarse. Trate de perfeccionar su búsqueda o utilice la navegación para localizar la entrada.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *