Aviso de VulnerabilidadPHPParches de emergencia

CVE-2026-115560: nueva vulnerabilidad RCE en PHP sin parche, y la ventana de exposición se alarga

Mickael NadeauMickael Nadeau
CVE-2026-115560: nueva vulnerabilidad RCE en PHP sin parche, y la ventana de exposición se alarga

Qué ha pasado

El 21 de octubre de 2026, PHP publicó versiones de emergencia (8.5.12, 8.4.27, 8.3.36 y 8.2.35) para corregir las dos vulnerabilidades críticas de PHP2Shell, CVE-2026-109618 y CVE-2026-109619. En apenas un día, los intentos de ataque ya se contaban por millones.

Dos días después, el 23 de octubre, PHP reveló una tercera falla: CVE-2026-115560, una vulnerabilidad de ejecución remota de código (RCE) en la gestión de sesiones. Las versiones del 21 de octubre no la corrigen y no habrá parche de emergencia. La corrección llegará con la próxima versión de mantenimiento ordinaria de PHP, junto con el aviso de seguridad completo.

⚠

Haber parcheado PHP2Shell no le protege frente a CVE-2026-115560. Si actualizó el 21 de octubre y dio el tema por cerrado, toca reabrirlo.

Por qué esta es distinta

Seamos claros: esta falla es mucho más acotada que PHP2Shell. Una aplicación solo está expuesta si se cumplen las tres condiciones siguientes:

  1. Configuración: session.serialize_handler está definido como php_binary o php_serialize.

  2. Código: la aplicación lo vuelve a cambiar a php en tiempo de ejecución con ini_set(), antes de llamar a session_start().

  3. Valor por defecto intacto: session.upload_progress.enabled sigue activado, que es el valor por defecto de PHP.

El propio PHP considera poco probable esta configuración, y no se ha detectado explotación. Pero «poco probable» no significa «imposible», por dos motivos:

  • La llamada de riesgo puede no estar en su código. Puede esconderse en una dependencia de Composer, dentro de vendor/, donde casi ningún equipo revisa.

  • Casi todo sigue siendo desconocido. No se han publicado las versiones afectadas, la puntuación CVSS ni la causa raíz. Los atacantes leen el mismo aviso que usted, y la gestión de sesiones de PHP es ahora el código más examinado de la web.

Elemento

Situación a 23 de octubre de 2026

Parche disponible

No, previsto en la próxima versión ordinaria

Versiones afectadas

Sin publicar

Puntuación CVSS

Sin publicar

Explotación activa

No se ha detectado

Mitigación oficial

session.upload_progress.enabled=0

Para la dirección: tres acciones esta semana

  1. Confirme que PHP2Shell está parcheado en todas partes. Todos los servidores, todos los entornos. CVE-2026-115560 no debe frenar la corrección de las fallas que ya se están atacando.

  2. Confirme que la mitigación está aplicada en todas partes. Una sola línea de configuración cubre tanto CVE-2026-109619 como esta nueva falla. Asegúrese de que está en producción, no solo planificada.

  3. Pregunte cuánto tiempo seguirán expuestos. Es la tercera vulnerabilidad RCE de PHP en tres días, y el próximo parche depende del calendario de PHP, no del suyo. Si su única defensa es el parche, es otro quien decide cuánto dura su exposición.

Para los equipos técnicos: comprobar y mitigar

Compruebe su exposición

Busque cualquier referencia al serializador de sesión en la configuración y en el código, incluido vendor/:

grep -rn "serialize_handler" /etc/php* /etc/httpd /etc/apache2 2>/dev/null
grep -rn "serialize_handler" /var/www --include="*.php" --include=".htaccess" --include=".user.ini"

Después, verifique los valores efectivos en cada entorno de ejecución, ya que CLI y FPM pueden diferir:

php -i | grep -E "session.serialize_handler|session.upload_progress.enabled"

Probablemente esté afectado si la configuración muestra php_binary o php_serialize y el código llama a ini_set('session.serialize_handler', 'php'). PHP no ha aclarado si una directiva php_value en .htaccess o .user.ini activa la misma ruta, así que trátelas como sospechosas.

Mitigue hoy mismo

session.upload_progress.enabled = 0
  • Aplíquelo en php.ini, en el pool de PHP-FPM o en la configuración del servidor web. No confíe en ini_set() ni en .user.ini.

  • Reinicie todos los workers de PHP y compruébelo con php -i o phpinfo() desde el pool que usa realmente la aplicación.

  • Si ya lo aplicó el 21 de octubre por PHP2Shell, déjelo como está.

  • Las barras de progreso de subida nativas de PHP dejarán de funcionar. La mayoría de las interfaces modernas calculan el progreso en el navegador.

ℹ

Esta medida reduce la exposición, no corrige la falla. Instale la próxima versión ordinaria de PHP en cuanto se publique y consulte el aviso completo para conocer las versiones afectadas.

El papel de CYBERDEFENSE.AI

Tres vulnerabilidades RCE en PHP en tres días, una de ellas todavía sin parche. En cada paso, las defensas tradicionales tuvieron que esperar algo: un parche, una firma, una nueva regla de bloqueo, un cambio de configuración. Cada espera abre una ventana de exposición, y es justo ahí donde los atacantes actúan más rápido.

El WAF preventivo de CYBERDEFENSE.AI no espera. Utiliza inteligencia artificial para analizar en tiempo real el comportamiento de las aplicaciones, sin firmas, sin reglas y sin parches reactivos. En la práctica:

  • No hizo falta ninguna actualización para PHP2Shell, y tampoco hace falta para CVE-2026-115560. La protección ya estaba activa antes de que se divulgaran.

  • Los intentos de explotación destacan como comportamiento anómalo. Los escáneres automatizados que recorren miles de sitios y las peticiones que no encajan con el uso normal de su aplicación se detectan y se bloquean.

  • La inteligencia de amenazas se comparte en toda la plataforma. Las IP ya sorprendidas atacando en otros sitios se bloquean antes de llegar a usted.

Una capa adicional, no un sustituto: siga aplicando parches. Pero con una defensa preventiva delante de sus aplicaciones, el tiempo entre la divulgación y la corrección deja de ser tiempo de exposición.

Puntos clave

  • CVE-2026-115560 es una nueva vulnerabilidad RCE en PHP, todavía sin parche. Los parches de PHP2Shell no la cubren.

  • La exposición requiere una configuración de sesión concreta, pero el código que la activa puede ocultarse en dependencias de terceros.

  • Aplique session.upload_progress.enabled=0 a nivel de servidor hoy mismo y actualice en cuanto salga la próxima versión de PHP.

  • Una seguridad basada en parches le deja expuesto todo lo que tarde el parche. La protección preventiva cierra esa ventana.

Hable con un experto de CYBERDEFENSE.AI

Descubra cómo una protección preventiva y sin firmas cubre sus aplicaciones PHP antes incluso de que se divulgue la próxima CVE.

Contáctenos