PHP2Shell: Por qué los ajustes de configuración fallan y cómo mitigar el riesgo antes del parche
PHP está liberando parches de emergencia para dos vulnerabilidades críticas de ejecución remota de código. Los expertos advierten que las soluciones alternativas de configuración populares son insuficientes e instan a aplicar estrategias de aislamiento inmedia
Traducido automáticamente del original en inglés.
El proyecto PHP tiene previsto publicar parches de seguridad de emergencia a las 14:00 UTC del 21 de octubre de 2026, abordando dos vulnerabilidades críticas de ejecución remota de código conocidas colectivamente como PHP2Shell. Estos fallos tienen una calificación de severidad de 9.2 sobre 10, lo que ha provocado advertencias urgentes por parte de empresas de seguridad y desarrolladores principales sobre la insuficiencia de las soluciones no oficiales actuales. Hasta que esté disponible la corrección oficial, los expertos aconsejan aislar las instancias expuestas de PHP de las redes públicas en lugar de confiar en cambios de configuración.
Qué ocurrió
Investigadores de seguridad identificaron dos vulnerabilidades graves en PHP que permiten a los atacantes ejecutar código arbitrario en servidores afectados. La Fundación PHP aún no ha revelado qué versiones específicas están impactadas ni qué componentes internos contienen los errores, indicando que los detalles completos acompañarán al lanzamiento. Cloudflare reportó haber observado intentos tempranos de explotación dirigidos a estos fallos, lo que llevó a la empresa a desplegar reglas de firewall de emergencia como medida provisional para sus usuarios. A pesar de estas observaciones, no se han confirmado compromisos exitosos, y las vulnerabilidades no aparecen actualmente en el catálogo de fallos explotados conocidos de CISA.
Surgió una cantidad significativa de confusión respecto a una posible mitigación que involucra la opción de configuración session.upload_progress.enabled. GMO Flatt Security, una firma con sede en Tokio, sugirió inicialmente que deshabilitar esta característica podría reducir el riesgo. Sin embargo, la firma luego retractó este consejo, aclarando que la opción por sí sola no ofrece protección completa y que los atacantes probablemente podrían evadirla. Esta reversión fue respaldada por los desarrolladores principales de PHP, quienes enfatizaron que ningún cambio de configuración puede sustituir un parche de software adecuado.
Cómo funciona
El debate sobre la mitigación gira en torno al Progreso de Subida de Sesión (Session Upload Progress), una función predeterminada de PHP que rastrea el estado de las subidas de archivos. La teoría propuesta por algunos investigadores era que la vulnerabilidad residía dentro de este mecanismo. Se pensaba que deshabilitarla mediante session.upload_progress.enabled=0 eliminaría la superficie de ataque. Sin embargo, auditorías independientes y declaraciones de los mantenedores de PHP indican que el fallo podría ni siquiera existir en esta característica específica, haciendo ineficaz el cambio de configuración contra el vector real de la vulnerabilidad.
Gina Peter Banyard, desarrollador principal de PHP, declaró claramente que "las opciones ini no te salvarán". El consenso entre los expertos es que la vulnerabilidad probablemente involucra cómo PHP procesa los datos de formularios multipart, pero el punto de entrada exacto permanece sin confirmar hasta que se revise el código fuente después del parche. Dado que la causa raíz no está vinculada definitivamente a las subidas de sesión, alternar las configuraciones relacionadas ofrece solo una falsa sensación de seguridad mientras deja la ruta de ejecución subyacente abierta a la explotación.
Detalles clave
- Hora de publicación del parche: La corrección oficial llega a las 14:00 UTC del 21 de octubre de 2026.
- Calificación de severidad: Ambas vulnerabilidades están calificadas con 9.2 sobre 10 debido a su potencial de ejecución remota de código.
- Solución alternativa ineficaz: Establecer
session.upload_progress.enabled=0no es una mitigación fiable y no debe tratarse como una solución. - Ramas soportadas: Se emitirán parches para las versiones de PHP 8.2 a 8.5; las versiones anteriores como 7.x y 8.1 han alcanzado el fin de su vida útil.
- Estado de la explotación: Son visibles intentos tempranos de explotación, pero no se ha verificado que el código público de prueba de concepto funcione en las versiones lanzadas de PHP.
- Respuesta de Cloudflare: Se han desplegado reglas WAF de emergencia como medida temporal, pero solo protegen el tráfico que pasa a través de su red.
Por qué importa
Para los equipos de ingeniería que gestionan infraestructuras PHP, este incidente destaca el peligro de confiar en consejos comunitarios no verificados durante eventos de día cero. Muchos administradores se apresuraron a aplicar el cambio de configuración de subida de sesión, creyendo que ofrecía seguridad inmediata. Esta reacción subraya la necesidad de protocolos disciplinados de respuesta a incidentes que prioricen el aislamiento y la verificación sobre las soluciones rápidas. Aplicar mitigaciones incorrectas puede desperdiciar tiempo valioso y dejar los sistemas vulnerables si el vector de ataque asumido es erróneo.
Además, la situación expone los riesgos asociados con las versiones de software fuera de soporte. Dado que PHP solo soporta las ramas 8.2 a 8.5, las organizaciones que ejecutan versiones anteriores como 8.1 o 7.x no reciben parches oficiales. Estos equipos deben depender de backports de distribuciones Linux o proveedores de terceros, lo que introduce retrasos e incertidumbre. La incapacidad de parchear inmediatamente las versiones no soportadas fuerza a tomar decisiones difíciles sobre llevar servicios fuera de línea o implementar medidas complejas de aislamiento de red para prevenir la exposición.
Qué puedes hacer
- Prepárate para el parcheo: Verifica tus procedimientos de actualización ahora para poder desplegar la corrección inmediatamente después de las 14:00 UTC del 21 de octubre.
- Aísla el acceso público: Si el parcheo inmediato es imposible, coloca las aplicaciones PHP detrás de una VPN o restringe el acceso solo a IPs permitidas (allowlisted).
- Verifica el contexto de configuración: Si deshabilitaste el progreso de subida de sesión, asegúrate de que el cambio se aplique al proceso de servicio web (FPM o mod_php), no solo a la interfaz de línea de comandos.
- Revisa los registros de cambios de paquetes: Para distribuciones Linux que aplican backports de correcciones, verifica el registro de cambios del paquete para el CVE específico en lugar de depender solo de los números de versión.
- Limita los privilegios del servidor: Reduce los datos almacenados en el servidor, elimina credenciales innecesarias y asegúrate de que los logs se envíen a una ubicación segura y separada.
- Monitorea el tráfico: Observa solicitudes inusuales de datos de formularios multipart, pero reconoce que bloquearlas puede romper la funcionalidad legítima de subida de archivos.



