Vulnerabilidades Críticas ‘PHP2Shell’ (CVSS 9.2) Permiten RCE Sin Autenticación

Alerta de seguridad: Explotación masiva de una vulnerabilidad RCE en PHP

Se ha filtrado información crítica confirmando la existencia de vulnerabilidades Zero-Day en PHP, reveladas conjuntamente por investigadores de Wiz, colectivamente “PHP2Shell”. Estas fallas (CVE-2026-109618 y CVE-2026-109619) poseen una calificación CVSS v4.0 de 9.2 (Crítica) y permiten la ejecución remota de código (RCE) en entornos PHP (versiones desde 5.4.0) sin requerir autenticación.

Debido a la ruptura del embargo original, proveedores de seguridad perimetral como Cloudflare e Imperva participaron en un esfuerzo coordinado de mitigación. Cloudflare logró desplegar protecciones preventivas aproximadamente 9 horas antes de la divulgación pública, y desde el 21 de octubre a las 3:02 a.m. UTC, sus clientes están protegidos por defecto. Sin embargo, ya se observa tráfico de ataque activo dirigido a los clientes, con actores de amenazas mutando constantemente las cargas útiles (payloads) para intentar eludir las protecciones.


Análisis Técnico y Vectores de Riesgo

Ambas vulnerabilidades (CWE-824: Acceso a Puntero No Inicializado) residen en el entorno de ejecución (runtime) de PHP. PHP utiliza longjmp() para abortar el procesamiento cuando ocurre un error de falta de memoria o un error fatal. Estas interrupciones dejan “estados obsoletos”, permitiendo que una solicitud posterior alcance punteros que apuntan a memoria ya liberada (Use-After-Free).

  • Evasión de Defensas y Patrones de Ataque: Los analistas de Imperva y Cloudflare advierten que los atacantes están utilizando cargas útiles multiparte anómalas, campos relacionados con sesiones repetitivos, actividad sospechosa de progreso de carga de sesiones y cabeceras de respuesta anormales.
  • Insuficiencia de Reglas Estáticas: Cloudflare determinó que inspeccionar únicamente los datos de la solicitud HTTP no proporciona evidencia suficiente para distinguir un exploit del tráfico legítimo. Las reglas tradicionales basadas en firmas generan falsos positivos o son eludidas por las mutaciones del atacante.
  • Detección de Transacción Completa (Full Transaction Detection): Para combatir esto, es necesario analizar ambos lados de la misma transacción HTTP. La respuesta del servidor de origen añade el contexto necesario para identificar si el exploit tuvo éxito. Las nuevas reglas bloquean la respuesta comprometida del origen antes de que pueda ser devuelta al atacante.

Plan de Mitigación Operativa y Respuesta

Instrucciones de Parcheo del Motor PHP (Urgente):

  • Identificación: Auditar la versión instalada en los servidores ejecutando php -v. Consultar los avisos de seguridad oficiales del proveedor de su distribución (Ubuntu, Debian, RHEL) para confirmar la disponibilidad del parche.
  • Actualización vía Gestor de Paquetes: Utilizar el gestor nativo del sistema operativo para descargar e instalar la actualización de seguridad de los paquetes de PHP y sus dependencias (ej. sudo apt-get update && sudo apt-get upgrade php en entornos basados en Debian/Ubuntu, o sudo yum update php en RHEL/CentOS).
  • Entornos Contenerizados (Docker/Kubernetes): Modificar los archivos Dockerfile para extraer las últimas imágenes base oficiales de PHP ya parcheadas (ej. FROM php:8.x-apache), reconstruir la imagen (docker build) y redesplegar los contenedores afectados.
  • Reinicio de Servicios (Obligatorio): Actualizar los binarios no mitiga la vulnerabilidad si los procesos antiguos siguen en memoria. Es estrictamente necesario reiniciar el servidor web y los gestores de procesos asociados (ej. sudo systemctl restart apache2, sudo systemctl restart nginx o sudo systemctl restart php-fpm).
  • Entornos Administrados (Hosting Compartido/PaaS): Si el servidor es administrado por un proveedor de hosting (ej. cPanel, AWS Elastic Beanstalk), se debe contactar inmediatamente al soporte técnico para exigir la aplicación de la actualización de seguridad de PHP en el entorno.

Controles y Auditoría para Entornos con Cloudflare e Imperva:

  • Confirmar que los Managed Rulesets de Cloudflare estén operando en modo “Bloqueo” (ID efb7b8c949ac4650a09736fc376e9aee para planes de pago; 77454fe2d30c4220b5701f6fdfb893ba para gratuitos) y que la regla de transacción completa (afffe22785674c80a31875c848d2242a) esté activa.
  • Para infraestructuras que operen con Imperva Elastic WAF o WAF Gateway, aplicar de inmediato la actualización de software y contenido ADC requerida.

Ajustes de Configuración Preventiva (php.ini): Como medida complementaria mientras se realiza el parcheo, establecer opcache.enable = 0 y session.upload_progress.enabled = 0 en el archivo php.ini activo (tras validar impacto en rendimiento), eliminando los disparadores remotos de las técnicas demostradas.

Nota Operativa sobre Disponibilidad de Parches: Aunque la filtración adelantó el ciclo de ataques, la divulgación oficial y la liberación de los parches nativos para PHP estaban originalmente programadas bajo embargo para el jueves a las 11:00 a.m. ET. Es imperativo aplicar el parche en el servidor; el WAF solo debe considerarse una mitigación transitoria de defensa en profundidad.

Related Post