CISA confirmó el 26 de octubre que PHP2Shell ya se explota en ataques reales. Las dos fallas críticas de PHP, CVE-2026-109618 y CVE-2026-109619, entraron a su catálogo de vulnerabilidades explotadas y las agencias federales de Estados Unidos tienen hasta el 29 de octubre para parchear.
Afecta a cualquier instalación de PHP que sirva páginas web y ya hay 35 ejecuciones de shell confirmadas en honeypots.

Dos fallas que se disparan antes de tu código
Ambas permiten ejecución remota sin autenticación y tienen CVSS 4.0 de 9.2. CVE-2026-109618 nace del manejo de memoria agotada: si una petición llega al límite en el momento exacto, PHP deja datos internos a medio inicializar y luego los trata como válidos.
CVE-2026-109619 es un use-after-free: el estado de una petición apunta a memoria liberada y otra petición del mismo worker la reutiliza.
El riesgo mayor está en Apache con mod_php, donde la falla se dispara antes de que corra una línea de la aplicación. La Fundación PHP confirmó ejecución remota con la configuración por defecto. También cubre PHP-FPM, php-cgi, FrankenPHP y LiteSpeed.
Los parches salieron el 21 de octubre: PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35. El código vulnerable se remonta hasta PHP 5.4.0; de 5.4 a 7.3 no hay arreglo oficial.
Lo que se ha visto en el mundo real
Amazon detectó el primer intento el 17 de octubre, cuatro días antes de los parches. El 24 de octubre, el investigador Adel Karimi registró 35 shells en tres honeypots con PHP 8.4.26 y mod_php de un solo worker.
Wiz no ha visto una explotación completa en su telemetría: sus intentos agotaron la memoria pero fallaron al filtrar direcciones, por diferencias de compilación, límites y cantidad de workers. Aun así, midió una caída del 67% en máquinas vulnerables expuestas desde el 21 de octubre.
El exploit público funciona en configuraciones favorables, no en todas.
Actualizar no es suficiente: reinicia los workers
El paquete nuevo no cambia el código cargado en memoria. PHP-FPM y Apache siguen ejecutando la versión vulnerable hasta que reinicias los procesos. En un servidor propio es un reinicio de servicio; en hosting compartido, un ticket a soporte.
Si no puedes actualizar ya, la Fundación PHP recomienda memory_limit=-1 para CVE-2026-109618 y session.upload_progress.enabled=0 para CVE-2026-109619. En PHP 8.5 se suma fatal_error_backtraces=0. Son parches parciales y también exigen reiniciar.
Si tu web vive en un hosting compartido
WordPress muestra la versión en Herramientas, Salud del sitio, Información, Servidor; en cPanel suele estar en Select PHP Version. Si sigues en PHP 8.1 o antes, CISA recomienda sacar el sitio de línea: esas ramas ya no reciben versiones oficiales.

Cloudflare desplegó reglas de WAF para todos sus planes, incluido el gratuito, pero solo cubren el tráfico que pasa por su red y son temporales.
PHP2Shell: los detalles que complican el parche
PHP 8.4.27 y 8.5.12 traen una regresión con SimpleXML que puede tumbar procesos; no viene de estos parches y ya hay arreglo en el código, sin versión publicada. El 23 de octubre PHP avisó además de CVE-2026-115560, una ruta poco probable en el progreso de subida de sesiones, sin parche y con la misma mitigación.
Las cifras de exposición tampoco coinciden: VirusTotal estima 5,1 millones de hosts PHP expuestos, Shodan cuenta 1,9 millones y Calif calcula 1,3 millones. La diferencia está en qué mide cada uno.
Qué mirar hoy
Revisa la versión, actualiza y reinicia. Si dependes de un proveedor, pídele por escrito qué versión corre y cuándo reinició. Un sitio con PHP 8.4.26 en el panel pero workers viejos sigue expuesto, y ese es el estado de más de un servicio que creyó haber terminado.
Más en: Ciberseguridad, Programación



