PHP ha divulgado CVE-2026-115560, un nuevo riesgo de ejecución remota de código que afecta a aplicaciones web que usan una combinación inusual de configuración de sesión de PHP y comportamiento en tiempo de ejecución. El problema se divulgó el 23 de octubre de 2026, solo dos días después de que PHP lanzara correcciones de emergencia para las vulnerabilidades críticas PHP2Shell CVE-2026-109618 y CVE-2026-109619.
A diferencia de esas vulnerabilidades anteriores, CVE-2026-115560 no ha provocado otro lanzamiento de emergencia de PHP. El equipo de seguridad de PHP considera que la configuración vulnerable es poco probable en implementaciones típicas y planea abordar la falla en su próximo ciclo regular de corrección de errores. Hasta entonces, se aconseja a los administradores que desactiven la función de progreso de carga de sesión de PHP donde pueda existir la configuración vulnerable.
La nueva vulnerabilidad también es importante porque la instalación de PHP 8.5.12, 8.4.27, 8.3.36, o 8.2.35, las versiones que solucionaron las dos fallas anteriores de PHP2Shell, no not remedia CVE-2026-115560. Por lo tanto, los sistemas completamente actualizados pueden seguir expuestos si sus aplicaciones cumplen con los requisitos específicos de configuración.
Los equipos de seguridad que buscan oportunidades de detección de CVE-2026-115560 deben priorizar la visibilidad en el manejo de sesiones de PHP, cargas multiparte inusuales, cambios inesperados en el comportamiento de serialización de sesiones, y procesos secundarios sospechosos generados por PHP o trabajadores del servidor web.
La Plataforma de Inteligencia de Detección Nativa de IA de SOC Prime permite a los equipos de seguridad fortalecer la cobertura para la explotación de vulnerabilidades emergentes y comportamientos post-compromiso relacionados en entornos SIEM, EDR y Data Lake.
Haga clic en Explorar Detecciones para acceder a contenido de detección relevante y lógica de búsqueda. Para detectar CVE-2026-115560, los defensores deben combinar la evaluación de configuración de PHP con la telemetría web, de punto final, de aplicaciones y de proxy inverso mientras un parche del proveedor no esté disponible.
Los profesionales de seguridad también pueden aprovechar Prime Architect para transformar la inteligencia de vulnerabilidades recién divulgada en reglas Sigma y consultas de búsqueda, validar la lógica de detección y traducir detecciones relevantes a través de las plataformas de seguridad compatibles.
Análisis de CVE-2026-115560
PHP publicó un aviso informativo el 23 de octubre describiendo una interacción potencialmente explotable entre la serialización de sesiones y la función de progreso de carga de sesiones.
Según el equipo de seguridad de PHP, una aplicación debe cumplir varias condiciones específicas antes de que pueda ocurrir el problema:
- session.serialize_handler debe estar inicialmente configurado como php_binary o php_serialize.
- El código de la aplicación debe cambiar posteriormente el manejador a php en tiempo de ejecución usando ini_set().
- Ese cambio debe ocurrir antes de que se llame a session_start().
- session.upload_progress.enabled debe seguir habilitado.
Las aplicaciones que nunca cambian el manejador de serialización en tiempo de ejecución no están expuestas a través de este camino específico y pueden seguir utilizando el progreso de carga de sesiones. PHP describe la combinación vulnerable como poco común.
Esta distinción reduce sustancialmente la superficie de ataque en comparación con CVE-2026-109618 y CVE-2026-109619. Las anteriores vulnerabilidades PHP2Shell afectaron ampliamente a las instalaciones de PHP para servir web y requirieron actualizaciones de emergencia. CVE-2026-115560, en cambio, depende de la configuración específica de la aplicación y el comportamiento del código.
Los detalles de CVE-2026-115560 siguen siendo intencionadamente limitados. PHP aún no ha publicado la causa raíz técnica completa, los rangos de versiones vulnerables exactos, una puntuación CVSS o la transición específica de memoria interna o estado de sesión que finalmente produce la condición RCE. El proveedor dice que esos detalles se incluirán en la próxima versión regular.
Basado en los requisitos previos divulgados, la vulnerabilidad parece estar conectada al manejo inconsistente de datos de sesión cuando una aplicación cambia formatos de serialización durante el procesamiento de solicitudes mientras el mecanismo de progreso de carga de PHP está activo. Sin embargo, el primitivo de explotación exacto no debería inferirse más allá de lo que PHP ha divulgado formalmente.
CVE-2026-115560 afecta a las aplicaciones que cumplen con el patrón de configuración vulnerable, incluidas las aplicaciones que ejecutan versiones de PHP completamente parcheadas que contienen las correcciones de PHP2Shell de octubre 21. PHP aún no ha indicado qué ramas o versiones históricas de PHP contienen la falla subyacente.
Esto significa que los administradores no deben determinar la exposición únicamente a partir de la versión instalada de PHP. En su lugar, deben evaluar la configuración de la aplicación y el servidor.
Un primer paso útil es verificar si el progreso de carga de sesión está habilitado:
session.upload_progress.enabled=1
Los administradores también deben identificar cualquier código de aplicación que llame ini_set() para modificar session.serialize_handler, particularmente transiciones de php_binary o php_serialize a php.
La nueva falla es separada de CVE-2026-109619 aunque la mitigación se superpone. Deshabilitar el progreso de carga de sesiones ya se recomendaba como medida de reducción de riesgo para una de las vulnerabilidades originales de PHP2Shell. Las organizaciones que mantuvieron esa configuración deshabilitada después de la actualización de emergencia del 21 de octubre ya están protegidas contra el nuevo camino divulgado, según PHP.
Actualmente no existe un PoC público de CVE-2026-115560 documentado por PHP o los dos informes suministrados. El equipo de seguridad tampoco ha divulgado suficiente información técnica para reproducir la vulnerabilidad de manera confiable solo a partir del aviso público.
Esto es notablemente diferente de las fallas anteriores de PHP2Shell, para las cuales surgieron diversos intentos de prueba de concepto y actividad de explotación alrededor de la divulgación. Esos ataques no deberían atribuirse a la nueva vulnerabilidad.
No se ha informado de ninguna explotación de CVE-2026-115560 al 26 de octubre de 2026. The Hacker News distingue específicamente los intentos de escaneo y explotación en curso de PHP2Shell de esta nueva vulnerabilidad, señalando que la actividad observada apunta a CVE-2026-109618 y CVE-2026-109619.
Como resultado, los IOC de CVE-2026-115560, como direcciones IP maliciosas, dominios, hashes, cargas útiles o patrones confirmados de solicitudes de explotación no están disponibles actualmente.
Hasta que surjan más detalles técnicos, los defensores deben centrarse en indicadores basados en el comportamiento y la configuración, incluyendo:
- Aplicaciones PHP que cambian session.serialize_handler durante la ejecución
- El progreso de carga de sesión permanece habilitado en aplicaciones con lógica de sesión personalizada
- Tráfico POST multiparte inesperado a aplicaciones que manejan sesiones PHP
- PHP-FPM, php-cgi, Apache, u otros procesos que sirven PHP generando shells o intérpretes de scripts
- Conexiones de red salientes inesperadas desde trabajadores PHP
- Archivos creados recientemente dentro de raíces web o directorios de aplicaciones con permisos de escritura
- Cambios inusuales en archivos de sesión o almacenamiento de sesiones
- Web shells, trabajos programados o persistencia no autorizada creados por cuentas de servicio de PHP
Los desarrolladores de aplicaciones también deben revisar la lógica personalizada de manejo de sesiones. Las extensiones de frameworks, aplicaciones heredadas, plataformas internas o sistemas de autenticación personalizados son más propensos que las implementaciones de PHP directas a modificar dinámicamente la configuración de serialización.
La divulgación se produce durante un periodo ya activo de actividad de explotación de PHP. Las vulnerabilidades originales de PHP2Shell fueron parcheadas el 21 de octubre, y múltiples compañías de seguridad observaron posteriormente un sondeo generalizado e intentos de explotación. Sin embargo, PHP y los investigadores de seguridad no han vinculado esas campañas a CVE-2026-115560.
Mitigación de CVE-2026-115560
PHP actualmente recomienda una medida defensiva directa:
session.upload_progress.enabled=0
Los administradores deben aplicar la configuración a través de php.ini, la configuración de grupo de PHP-FPM, la configuración de Apache u otro mecanismo a nivel de servidor que surta efecto antes del procesamiento de solicitudes.
Las organizaciones que desactivaron la función mientras mitigaban CVE-2026-109619 y la han dejado desactivada no necesitan un cambio de configuración adicional para esta vulnerabilidad.
Después de cambiar la configuración, reinicie los trabajadores PHP y los servicios web relevantes para asegurar que los procesos existentes carguen la configuración actualizada. Dependiendo del entorno, esto puede incluir reiniciar grupos de PHP-FPM, trabajadores de Apache, contenedores u otros procesos de tiempo de ejecución de aplicaciones PHP.
Los administradores pueden verificar la configuración efectiva a través de la inspección de la configuración de PHP en lugar de asumir que un valor central de php.ini se aplica en todas partes. Las implementaciones de PHP frecuentemente combinan configuraciones de:
- php.ini global
- archivos conf.d
- configuración de grupos de PHP-FPM
- directivas de Apache
- configuración específica de contenedores
- .user.ini a nivel de aplicación
- llamadas en tiempo de ejecución a ini_set()
La evaluación de exposición más importante es específica de la aplicación. Busque en el código fuente de la aplicación modificaciones en tiempo de ejecución del serializador de sesiones, particularmente patrones que involucren:
ini_set(‘session.serialize_handler’, ‘php’)
Las aplicaciones que nunca cambian el serializador de php_binary o php_serialize a php antes de session_start() no coinciden con el escenario vulnerable que PHP ha divulgado.
Las organizaciones deben mantener igualmente las actualizaciones de seguridad de PHP2Shell del 21 de octubre. Deshabilitar el progreso de carga aborda la ruta recién identificada pero no reemplaza las correcciones de emergencia para CVE-2026-109618 y CVE-2026-109619.
Las instalaciones compatibles deben, por lo tanto, mantenerse al menos en:
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
Esas versiones remedian los problemas anteriores de PHP2Shell pero no la vulnerabilidad recientemente divulgada.
Los equipos de seguridad también deben inventariar instalaciones de PHP no soportadas. PHP 8.1 y versiones anteriores ya no reciben actualizaciones de seguridad regulares upstream, lo que significa que las organizaciones que operan entornos heredados pueden tener dificultades para determinar una exposición completa una vez que se publique el aviso final de CVE.
Si deshabilitar el progreso de carga de sesiones es operativamente imposible, las organizaciones deben primero determinar si sus aplicaciones realmente modifican dinámicamente el manejador de serialización. PHP establece explícitamente que las aplicaciones que nunca realizan este cambio en tiempo de ejecución pueden dejar habilitado el progreso de carga de sesiones.
Como salvaguardas adicionales, los defensores pueden:
- Limitar el acceso externo a aplicaciones PHP sensibles.
- Aplicar reglas de proxy inverso restrictivas alrededor de puntos finales de carga de archivos innecesarios.
- Monitorear solicitudes multiparte asociadas con sesiones PHP.
- Alertar sobre procesos secundarios anómalos de trabajadores PHP.
- Aplicar el menor privilegio a cuentas de PHP-FPM y servidores web.
- Prevenir que los servicios de PHP escriban en directorios ejecutables donde sea posible.
- Restringir la conectividad saliente de cargas de trabajo de aplicaciones web.
- Monitorear raíces web y directorios temporales en busca de creación no autorizada de archivos.
AWS también ha señalado que sus reglas WAF para aplicaciones PHP pueden bloquear solicitudes POST que combinan identificadores de sesión PHP con el campo PHP_SESSION_UPLOAD_PROGRESS, proporcionando otra capa defensiva para entornos que no pueden hacer cambios de configuración de inmediato. Este tipo de filtrado aún debe considerarse como defensa en profundidad en lugar de un reemplazo para el cambio de configuración recomendado por PHP.
Una vez que PHP lance la actualización regular de corrección de errores que contiene la solución permanente, las organizaciones deben implementarla rápidamente incluso si la mitigación temporal ya está habilitada.
Después de aplicar los parches, los administradores pueden decidir si es necesario volver a habilitar el progreso de carga de sesiones en función de los requisitos de la aplicación.
Si se sospecha explotación, aísle el servidor de la aplicación afectada y preserve la telemetría web, PHP, de proxy inverso, de punto final y de red. Revise directorios con permisos de escritura en busca de web shells o archivos creados recientemente, inspeccione procesos secundarios de PHP y identifique credenciales o secretos accesibles al servicio comprometido.
Debido a que la explotación exitosa podría potencialmente resultar en ejecución de código con los privilegios del trabajador de PHP, los respondedores deben rotar las credenciales de aplicaciones relevantes, secretos de bases de datos, tokens API, claves de la nube y otra información sensible si no se puede excluir el compromiso.
Descargo de responsabilidad: El contenido de detección puede no estar disponible para cada CVE. Consulte la Plataforma SOC Prime para conocer la cobertura actual. Si las detecciones relevantes aún no están disponibles, vuelva a comprobar a medida que continuamente se agregan nueva inteligencia de amenazas y contenido de detección.
FAQ
¿Qué es CVE-2026-115560 y cómo funciona?
CVE-2026-115560 es una vulnerabilidad de ejecución remota de código de PHP sin parchear que involucra una interacción inusual entre la serialización de sesiones y la función de progreso de carga de sesiones de PHP. El escenario vulnerable requiere que una aplicación configure session.serialize_handler como php_binary o php_serialize, lo cambie a php en tiempo de ejecución usando ini_set(), y lo haga antes de session_start() mientras el progreso de carga de sesiones permanece habilitado. PHP aún no ha divulgado el mecanismo de explotación completo y planea publicar un aviso completo con su próxima versión regular de corrección de errores.
¿Cuándo se descubrió por primera vez CVE-2026-115560?
PHP divulgó públicamente el problema el 23 de octubre de 2026 a través de un aviso informativo, dos días después de lanzar correcciones de emergencia para CVE-2026-109618 y CVE-2026-109619. El proveedor no ha publicado la fecha exacta en que se descubrió o identificó internamente la falla.
¿Cuál es el impacto de CVE-2026-115560 en los sistemas?
La explotación exitosa podría permitir a un atacante ejecutar código dentro del contexto de una aplicación web PHP vulnerable. El impacto potencial aguas abajo depende de los privilegios asignados al servicio PHP e incluye el acceso a datos de la aplicación, robo de credenciales, creación maliciosa de archivos, persistencia e interacción con bases de datos backend o servicios en la nube. Sin embargo, PHP considera que la configuración requerida es poco común y aún no ha publicado una puntuación de severidad o evidencia de explotación en el mundo real.
¿Podría CVE-2026-115560 seguir afectándome en 2026?
Sí. Al 26 de octubre de 2026, no se ha lanzado ningún parche de seguridad permanente. Es importante destacar que las versiones de PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35 emitidas el 21 de octubre no solucionan esta vulnerabilidad. Las aplicaciones que utilizan esas versiones completamente parcheadas aún pueden estar expuestas si cumplen con los requisitos de configuración. PHP planea incluir la solución en su próxima versión regular de corrección de errores.
¿Cómo puedo protegerme de CVE-2026-115560?
Establezca session.upload_progress.enabled=0 y reinicie todos los trabajadores PHP y servicios web relevantes. Revise el código de la aplicación para cambios en tiempo de ejecución de session.serialize_handler, particularmente transiciones de php_binary o php_serialize a php antes de session_start(). Continúe ejecutando la última versión de seguridad de PHP para permanecer protegido contra CVE-2026-109618 y CVE-2026-109619, y despliegue la próxima versión de PHP que contenga la solución permanente para esta vulnerabilidad tan pronto como esté disponible.