Introducción
La seguridad de la infraestructura web enfrenta un desafío crítico cuando las vulnerabilidades del runtime afectan a la mayoría de los sitios de internet. Cloudflare desplegó protecciones predeterminadas en su Web Application Firewall (WAF) para contrarrestar los exploits conocidos como «php2shell» antes de la divulgación pública masiva. Esta acción preventiva protege contra CVE-2026-109618 y CVE-2026-109619, fallos que impactan a todos los servidores que ejecutan PHP 5.4 o versiones posteriores. El problema no radica únicamente en la existencia del bug, sino en la ventana de exposición entre la revelación del vector de ataque y la aplicación de parches por parte de miles de administradores. Dado que PHP soporta aproximadamente el 70% de los sitios web, incluyendo plataformas masivas como WordPress y Magento, la capacidad de bloquear tráfico malicioso en el borde de la red se convierte en la primera línea de defensa indispensable.
El despliegue de estas mitigaciones marca un hito en la respuesta coordinada ante vulnerabilidades críticas. Cloudflare, junto con Calif.io, Wiz, OpenAI y Quarkslab, coordinó la implementación de reglas específicas que detectan patrones de ataque únicos. A diferencia de los parches de software, que requieren tiempo para su distribución e instalación, estas reglas del WAF operan en tiempo real para filtrar intentos de explotación. Los equipos de DevOps y seguridad deben entender que el WAF no elimina la necesidad de parchear, pero sí compra tiempo valioso y reduce drásticamente la probabilidad de compromiso mientras se gestiona la actualización del runtime de PHP en los servidores de origen.
Qué ocurrió
El 21 de octubre de 2026, a las 3:02 AM UTC, Cloudflare activó protecciones automáticas para todos los clientes, incluyendo aquellos en planes gratuitos y de pago, que utilizan su WAF gestionado. Esta activación ocurrió aproximadamente nueve horas antes de la divulgación pública oficial de las vulnerabilidades. Durante este periodo, los analistas de seguridad de Cloudflare monitorearon activamente el tráfico y observaron intentos de ataque dirigidos a sus clientes. Los atacantes intentaron mutar las cargas útiles (payloads) para evadir las detecciones iniciales, lo que obligó a los equipos de respuesta a ajustar la lógica de las reglas basándose en el volumen de coincidencias y el análisis cruzado con la lógica interna.
La naturaleza de las vulnerabilidades, denominadas colectivamente «php2shell», implica que un atacante puede provocar una denegación de servicio (DoS), ejecución remota de código (RCE) o exposición de datos sensibles. El vector de ataque explota cómo PHP maneja la memoria cuando ocurre un error durante el procesamiento de una solicitud HTTP. Si el procesamiento se interrumpe inesperadamente, por ejemplo, por agotamiento de memoria, PHP falla en la limpieza segura de los recursos asignados. Esto permite que los datos no inicializados o la memoria ya liberada sean accedidos posteriormente, creando una condición de carrera o uso-after-free que los atacantes pueden manipular mediante solicitudes HTTP especialmente diseñadas.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
El impacto potencial es sistémico debido a la prevalencia de PHP en la infraestructura web global. Cualquier aplicación que utilice PHP 5.4 o superior es susceptible, lo que incluye una gran cantidad de sistemas heredados y aplicaciones empresarias que corren sobre stacks LAMP o LEMP. Para los equipos de infraestructura, esto significa que el riesgo no está limitado a la lógica de la aplicación, sino que reside en el propio motor de ejecución. Actualizar el código de la aplicación o los plugins no mitiga el riesgo; es imperativo actualizar el binario de PHP o solicitar a los proveedores de hosting que apliquen las actualizaciones de seguridad correspondientes.
Desde la perspectiva de la seguridad en la nube, el despliegue de Cloudflare introduce una capa de defensa conocida como «defensa en profundidad». Sin embargo, depender exclusivamente de las reglas del WAF presenta riesgos operativos. Si un administrador configura incorrectamente el WAF o si el tráfico malicioso logra evadir las firmas actuales mediante técnicas de ofuscación avanzadas, el servidor de origen sigue expuesto. Además, la detección basada únicamente en la solicitud puede generar falsos positivos o falsos negativos. La nueva capacidad de Cloudflare, llamada «detección de transacciones completas», aborda esto al analizar tanto la solicitud como la respuesta, permitiendo identificar si un exploit tuvo éxito antes de que los datos sensibles lleguen al atacante, reduciendo así el ruido en los logs de seguridad y mejorando la precisión de las alertas para los equipos de SRE.
Detalles técnicos
Las vulnerabilidades CVE-2026-109618 y CVE-2026-109619 difieren en el momento exacto del acceso inseguro a la memoria. En CVE-2026-109618, PHP se queda sin memoria e interrumpe su trabajo antes de que ciertos datos internos se inicialicen correctamente. Durante la limpieza de esa solicitud, PHP puede utilizar esta estructura de datos incompleta como si fuera válida, lo que puede llevar a la ejecución de código arbitrario. En CVE-2026-109619, un error fatal interrumpe la solicitud, dejando referencias a memoria que se libera al finalizar la misma. Cuando el mismo proceso de PHP maneja una solicitud posterior, puede seguir esas referencias obsoletas, accediendo a memoria inválida y potencialmente exponiendo información sensible de otras transacciones.
Para combatir esto, Cloudflare implementó reglas que no solo miran la entrada HTTP. La capacidad «full transaction detection» combina señales de la solicitud y la respuesta dentro de la misma transacción HTTP. Las reglas de respuesta pueden bloquear una respuesta coincidente del origen antes de que alcance al solicitante. Las reglas específicas desplegadas incluyen identificadores únicos para diferentes planes. Para los usuarios del plan Free, se utilizan las reglas del «Cloudflare Managed Free Ruleset» (ID: 77454fe2d30c4220b5701f6fdfb893ba). Para los planes de pago (Professional, Business, Enterprise), se aplican las reglas del «Cloudflare Managed Ruleset» (ID: efb7b8c949ac4650a09736fc376e9aee). Ejemplos de IDs de reglas genéricas incluyen 4e315666e8e344cdb64119a3b5ccf32f para anomalías de ejecución en el plan gratuito, y c1d409ad838f47f59446f21cc438d5dd en el plan pago.
Qué deberían hacer los administradores y equipos técnicos
La prioridad absoluta es parchear el runtime de PHP en todos los servidores afectados. Los administradores deben consultar el aviso de seguridad de PHP para identificar las versiones actualizadas que corrigen CVE-2026-109618 y CVE-2026-109619. Si la infraestructura es gestionada por un proveedor de hosting (como AWS Elastic Beanstalk, Azure App Service o servicios administrados de LAMP), es necesario abrir un ticket de soporte o verificar los canales de estatus del proveedor para confirmar la aplicación de los parches. Mientras se gestiona la actualización, es crucial mantener habilitadas las protecciones del WAF de Cloudflare.
Para los usuarios de Cloudflare, la protección está activa por defecto, pero se recomienda una verificación manual. Los clientes de planes de pago deben revisar su despliegue del «Managed Ruleset» para confirmar que está configurado en «Block» mode, no en «Simulate» o «Log only». Los usuarios del plan Free no necesitan tomar acción para habilitar la protección, pero deben monitorear los eventos. Para analizar las solicitudes bloqueadas o las coincidencias, naveguen a Security > Security Analytics > Events en el dashboard de Cloudflare. Utilicen los IDs de las reglas proporcionados (por ejemplo, filtrando por 4e315666e8e344cdb64119a3b5ccf32f) para inspeccionar las rutas y acciones. Si se detectan falsos positivos que bloquean tráfico legítimo, se puede ajustar el alcance del Ruleset o crear excepciones específicas, pero esto debe hacerse con extrema precaución y validación técnica.
Conclusión
La respuesta de Cloudflare ante las vulnerabilidades php2shell demuestra la importancia de la colaboración en la seguridad de la cadena de suministro de software y la capacidad de las plataformas de borde para mitigar riesgos antes de que los parches lleguen a los servidores de origen. La detección de transacciones completas representa un avance significativo en la lógica de los WAF, moviéndose más allá del filtrado simple de entradas hacia una comprensión contextual de la interacción cliente-servidor. Sin embargo, la tecnología del borde no sustituye la higiene de seguridad básica. Los equipos técnicos deben priorizar la actualización de los binarios de PHP, considerar el WAF como una red de seguridad temporal y monitorear activamente los logs de eventos para detectar cualquier intento de explotación que haya evadido las firmas actuales. La vigilancia continua y la aplicación rápida de parches siguen siendo las únicas garantías definitivas contra la ejecución remota de código.
Fuentes
https://blog.cloudflare.com/php-vulnerabilities-waf-protection/
https://deepmind.google/discover/blog/
https://www.cloudflarestatus.com/
