Corrección de esta Vulnerabilidad PHP y migración
Comprueba primero si el proveedor ofrece un backport de PHP2Shell y prueba la migración de PHP 8.1 a 8.4. Un parche no devuelve el soporte a una rama EOL. Prueba aplicaciones y extensiones antes de cambiar la rama en producción.
Cambios de compatibilidad en PHP 8.2
Estas notas resumen la guía oficial de migración de PHP. Consulta el original para los cambios específicos de extensiones.
- Cambio
La conversión de mayúsculas y minúsculas de funciones estándar pasa a basarse en ASCII, sin depender del locale.
Qué buscar en el códigoRevisa strtolower(), strtoupper() y comparaciones dependientes del locale.
Leer la guía oficial de PHP 8.2 ↗ - Cambio
str_split() devuelve un array vacío para una cadena vacía.
Qué buscar en el códigoBusca código que espere un único elemento vacío.
Leer la guía oficial de PHP 8.2 ↗ - Cambio
glob() devuelve un array vacío si open_basedir restringe todas las rutas.
Qué buscar en el códigoRevisa comparaciones estrictas con false en resultados de glob().
Leer la guía oficial de PHP 8.2 ↗
Cambios de compatibilidad en PHP 8.3
Estas notas resumen la guía oficial de migración de PHP. Consulta el original para los cambios específicos de extensiones.
- Cambio
range() valida con mayor rigor los tipos de límites y los valores del paso.
Qué buscar en el códigoBusca llamadas con objetos, arrays o pasos cero o negativos.
Leer la guía oficial de PHP 8.3 ↗ - Cambio
number_format() redondea antes del separador decimal cuando decimals es negativo.
Qué buscar en el códigoRevisa valores negativos de decimals en number_format().
Leer la guía oficial de PHP 8.3 ↗ - Cambio
La gestión de fechas usa clases de excepción y error más específicas.
Qué buscar en el códigoRevisa la construcción de DateTime y la captura de excepciones.
Leer la guía oficial de PHP 8.3 ↗
Cambios de compatibilidad en PHP 8.4
Estas notas resumen la guía oficial de migración de PHP. Consulta el original para los cambios específicos de extensiones.
- Cambio
exit() y die() usan coerción de tipos normal y pueden lanzar TypeError con entradas no válidas.
Qué buscar en el códigoBusca llamadas con valores que no sean cadenas ni enteros.
Leer la guía oficial de PHP 8.4 ↗ - Cambio
Las constantes PHP_DEBUG y PHP_ZTS pasan a ser booleanas.
Qué buscar en el códigoRevisa comparaciones estrictas entre estas constantes y enteros.
Leer la guía oficial de PHP 8.4 ↗ - Cambio
round() lanza ValueError con modos de redondeo no válidos.
Qué buscar en el códigoRevisa modos personalizados o seleccionados dinámicamente.
Leer la guía oficial de PHP 8.4 ↗
Antes de cambiar PHP
- Respalda archivos, configuración y datos y verifica la restauración.
- Prueba la versión de destino con las mismas extensiones que en producción.
- Revisa dependencias y compatibilidad de aplicaciones, plugins y temas.
- Prueba acceso, cargas, correo, tareas, colas y manejo de errores.
- Confirma que el paquete corrige esta Vulnerabilidad PHP y que la rama sigue teniendo soporte.
Vulnerabilidad PHP: elige los pasos de tu plataforma
Restauración tras actualizar por esta Vulnerabilidad PHP
Conserva referencias exactas de paquetes o imágenes y un procedimiento probado de restauración. Si falla la migración, restaura configuración y datos de forma coherente. Volver a un runtime vulnerable reintroduce el riesgo; revisa el aviso antes de exponerlo de nuevo.
Comprobaciones tras corregir esta Vulnerabilidad PHP
Prueba peticiones críticas, acceso, cargas, registros, tareas y procesos en segundo plano. Reinicia todos los procesos PHP web y comprueba cada sitio. Guarda el repositorio y la revisión completa; planifica la migración de ramas EOL.
Comprobar versión →