PHP2Shell ya se está explotando. Desde el 21 de octubre de 2026, Amazon, VulnCheck, Cloudflare y Pantheon reportan ataques reales contra CVE-2026-109618 y CVE-2026-109619, dos fallas críticas de ejecución remota de código sin autenticación en el núcleo de PHP, ambas con 9.2 en CVSS v4.0. Las versiones corregidas son PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35. Si tu sitio, tienda o intranet usa PHP, la recomendación es parchear hoy.
PHP mueve una gran parte de los portales corporativos, tiendas en línea y sitios WordPress de la región, muchos en hosting compartido. En esta guía te contamos qué está pasando, quién está en riesgo, cómo saber si ya te atacaron y qué hacer hoy.
Qué está pasando: explotación activa
- Parche adelantado por una filtración: la publicación coordinada estaba prevista para el 22 de octubre, pero los identificadores CVE y una prueba de concepto (PoC) se filtraron antes, y la PHP Foundation adelantó un día las versiones corregidas, según The Hacker News.
- Un intento antes del anuncio: el equipo de inteligencia de amenazas de Amazon detectó un intento de explotación contra sus honeypots el 17 de octubre, cuatro días antes de que las fallas fueran públicas.
- Varios atacantes desde el 21 de octubre: Amazon observó múltiples exploits y cargas distintas desde infraestructura anonimizada, lo que indica varios actores. VulnCheck registró escaneos con la herramienta “php2shell-scan”, Cloudflare vio atacantes modificando sus cargas para evadir protecciones y Pantheon bloqueó más de 60.000 peticiones sospechosas.
- Alertas de gobiernos: CISA, el FBI, la NSA y el NCSC del Reino Unido piden aplicar los parches cuanto antes o considerar desconectar los servidores expuestos.
- Superficie enorme: VulnCheck identificó PHP en unos 2,6 millones de servidores expuestos a internet.
- Catálogo KEV: en la versión del catálogo KEV de CISA publicada el 21 de octubre, estas dos fallas todavía no aparecen. Eso no cambia la urgencia: la explotación ya está documentada por varias empresas.
Qué es PHP2Shell
- CVE-2026-109618, RCE por corrupción tras falta de memoria: cuando PHP se queda sin memoria (OOM) mientras los datos internos de la petición están a medio inicializar, la limpieza de la petición puede tratar esos datos inválidos como válidos.
- CVE-2026-109619, RCE por estado global obsoleto: cierto estado interno de una petición puede sobrevivir después de liberar su memoria, y una petición posterior atendida por el mismo proceso puede usarlo antes de que se reinicie.
- Quién las descubrió: investigadores de Calif, OpenAI y Wiz, según The Hacker News.
- A quién afecta: según The Hacker News, todas las versiones de las series 7.x y 8.x. PHP indica que están en riesgo todas las instalaciones que atienden peticiones web, incluidas PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP y LiteSpeed, con el mayor riesgo en mod_php.
- No importa tu CMS ni tus plugins: cualquier punto de PHP accesible desde internet sirve para el ataque, incluidos formularios simples, páginas de inicio de sesión y verificaciones de estado. CrowdStrike lo resume así: la exposición no depende del CMS, el framework ni los plugins que uses.
Versiones corregidas
- PHP 8.5: actualiza a 8.5.12.
- PHP 8.4: actualiza a 8.4.27.
- PHP 8.3: actualiza a 8.3.36.
- PHP 8.2: actualiza a 8.2.35.
Las distribuciones Linux y los proveedores de soporte extendido recibieron los parches por adelantado, así que revisa los paquetes de tu proveedor. PHP 8.1 y anteriores ya no reciben versiones del proyecto PHP. Por la gravedad del caso, el equipo de seguridad publicó parches mínimos de código fuente para PHP 7.4, 8.0 y 8.1, pensados para quien compila desde el código; algunas distribuciones también ofrecen correcciones retroportadas. Lo recomendable sigue siendo migrar a una rama con soporte.
Cómo saber si ya te atacaron
Este es el punto delicado. Según CrowdStrike, el ataque casi no deja rastro: los procesos siguen estables, las respuestas salen con código HTTP 200 y los logs de la aplicación no muestran nada raro, porque el código de la aplicación nunca llega a ejecutarse.
- El único indicio del lado del servidor: una línea de error fatal por límite de memoria (memory-limit fatal, en PHP suele verse como “Allowed memory size of … bytes exhausted”) en el log de errores del servidor web. CrowdStrike advierte que ese mensaje suele descartarse como ruido. Si aparece desde el 17 de octubre en un servidor sin parchear, tómalo en serio.
- Procesos sospechosos: el FBI recomienda vigilar si procesos de PHP lanzan intérpretes de comandos (shells) o descargan archivos de forma inesperada.
- Revisión después de parchear: busca archivos nuevos o modificados en la carpeta web, tareas cron y cuentas nuevas, y conexiones salientes que no reconozcas. Parchear cierra la puerta, pero no elimina lo que un atacante haya dejado adentro.
Si no puedes actualizar de inmediato
PHP es claro: solo la actualización es una solución completa. Estas medidas reducen algunas rutas de ataque, pero no dejan la instalación segura:
- Para CVE-2026-109619: configurar
session.upload_progress.enabled=0enphp.ini, en el pool de FPM o en la configuración del servidor, y reiniciar todos los procesos. No sirve hacerlo conini_set()ni con.user.ini. Bloquea las rutas de sesión confirmadas, pero no otras variantes, por eso es una mitigación parcial. En PHP 8.5, además,fatal_error_backtraces=0. - Para CVE-2026-109618: PHP sugiere
memory_limit=-1fijado de forma que las aplicaciones no lo puedan cambiar (por ejemplo conphp_admin_value), bajarpost_max_size(8M si no necesitas subir archivos, 32M si sí), mantenerupload_max_filesizepor debajo y poner límites de tamaño de petición en el servidor web o el proxy. - Actualizar WordPress no actualiza PHP: WordPress, sus plugins o tu framework corren encima de PHP, que se actualiza en el servidor o en el panel del hosting.
- Un WAF solo no basta: un firewall de aplicaciones web ayuda mientras parcheas, pero Cloudflare ya reporta atacantes modificando sus cargas para evadir reglas. No reemplaza la actualización.
- Si no puedes parchear un servidor expuesto: las agencias recomiendan considerar sacarlo de internet hasta actualizarlo.
Qué hacer hoy, paso a paso
- Revisa tu versión de PHP: en un servidor propio ejecuta
php -v. El sitio web puede usar una versión distinta a la de la línea de comandos, sobre todo si hay varias instaladas. - En WordPress: entra a Herramientas > Salud del sitio > Información > Servidor para ver la versión de PHP que usa tu sitio.
- En hosting con panel: en cPanel o hPanel busca el selector de versión de PHP. Ahí ves la versión activa.
- Haz inventario: lista todo lo que corre PHP, incluidos paneles como cPanel o Plesk, aplicaciones de terceros y equipos que lo traen incluido.
- Actualiza a la versión corregida de tu rama: empieza por los sistemas expuestos a internet y reinicia PHP-FPM o el servidor web para que tome la nueva versión.
- Pregunta a tu hosting: en hosting compartido el proveedor controla PHP. Pregúntale hoy si ya aplicó la versión corregida en tu plan.
- Revisa el log de errores del servidor web: busca errores fatales por límite de memoria desde el 17 de octubre y, si los encuentras, trata el servidor como posiblemente comprometido.
- Planea salir de versiones sin soporte: si estás en 8.1 o anterior, migra a una rama con soporte (8.2 a 8.5) y, mientras tanto, aísla el sitio o ponlo detrás de una VPN.
- Vigila y revisa: alerta si procesos como php-fpm, php-cgi o apache2 lanzan shells o herramientas de descarga. Después de parchear, revisa archivos nuevos en la carpeta web, tareas cron y cuentas nuevas.
Si necesitas los comandos para cada sistema, mira nuestra guía Cómo actualizar PHP por PHP2Shell y saber si ya te atacaron. Y si tus sitios corren detrás de NGINX, esta semana también hubo parches urgentes: NGINX: F5 lanza parches urgentes para 3 fallas críticas.
Por qué importa para las empresas colombianas
Muchas empresas en Colombia tienen su sitio web, su tienda o su intranet en PHP, y no siempre saben qué versión corre ni quién la actualiza. Las versiones viejas son frecuentes en hosting compartido y en sitios que nadie toca desde hace años. Con explotación activa confirmada y un ataque que casi no deja huella, cada día sin parche es un día de exposición.
Cómo te ayuda NESS
NESS Unified IT Defense reúne en un solo agente gestión de parches, inventario de activos y monitoreo de infraestructura, junto con NESS Endpoint Protection y su motor antimalware propio con detección por comportamiento. Así sabes qué servidores tienes, qué versiones corren y si un proceso empieza a hacer algo raro. Todo se licencia con NESS Enterprise.
Preguntas frecuentes
¿PHP2Shell ya se está explotando?
Sí. Desde el 21 de octubre de 2026 Amazon, VulnCheck, Cloudflare y Pantheon reportan explotación por varios actores, y Amazon vio un primer intento el 17 de octubre.
¿Qué versiones de PHP corrigen PHP2Shell?
PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35, publicadas el 21 de octubre de 2026.
¿Cómo sé si ya me atacaron?
Según CrowdStrike, el único indicio del lado del servidor es un error fatal por límite de memoria en el log de errores del servidor web. Revísalo, vigila procesos de PHP que lancen shells o descarguen archivos y revisa archivos, cron y cuentas nuevas después de parchear.
¿Qué pasa si uso PHP 8.1 o anterior?
Esas ramas ya no reciben versiones de PHP. Hay parches mínimos de código fuente para 7.4, 8.0 y 8.1, y algunas distribuciones ofrecen correcciones retroportadas, pero lo recomendable es migrar a 8.2 o superior.
¿Actualizar WordPress me protege?
No. WordPress y PHP se actualizan por separado. Revisa la versión de PHP en Salud del sitio o en el panel de tu hosting.
¿Desactivar session.upload_progress es suficiente?
No. Según PHP, bloquea las rutas de sesión confirmadas de CVE-2026-109619, pero no otras variantes ni la otra falla. La protección es actualizar PHP.
Revisa tu PHP hoy
Agenda una demo de NESS y mantén parcheo, visibilidad y monitoreo desde un solo agente.
Fuentes
- PHP, Security advisory: Critical remote code execution vulnerabilities, update now (21 oct 2026)
- PHP, GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
- PHP, GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
- PHP, ChangeLog de PHP 8
- The Hacker News, PHP2Shell: Two Unpatched Critical PHP RCE Flaws (CVSS 9.2) Trigger Emergency Security Alert (21 oct 2026)
- The Hacker News, Someone Tried to Exploit PHP2Shell 4 Days Before the Vulnerabilities Were Publicly Disclosed (22 oct 2026)
- CISA, Known Exploited Vulnerabilities Catalog





