El proyecto PHP ha publicado actualizaciones de seguridad que corrigen dos vulnerabilidades críticas que permiten ejecución remota de código (RCE) sin autenticación. Las versiones con parche son PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35; los administradores de servidores y responsables de sitios web deben planificar e instalar las actualizaciones de inmediato.
Qué cambia: dos vectores de RCE
Las correcciones abordan dos fallos distintos que, en determinadas condiciones, permiten a un atacante remoto ejecutar código en el proceso de PHP que atiende la petición:
- OOM corruption (identificado por el proyecto): el manejo de situaciones de falta de memoria puede interrumpir la inicialización interna de los datos de una petición. Si la limpieza de la petición interpreta como válidos datos parciales o corruptos, se abre una ruta para ejecutar código malicioso.
- Stale global state: estado interno de la petición que pertenece a una petición previa puede permanecer tras liberarse su memoria. Una petición posterior que reutilice el mismo worker puede acceder a ese estado “obsoleto” antes de que la inicialización normal lo sobrescriba, lo que también puede derivar en RCE.
El equipo de PHP señala que todos los entornos que sirven peticiones HTTP están en riesgo: PHP-FPM, mod_php sobre Apache, php-cgi, FrankenPHP y servidores que integren PHP como LiteSpeed. El riesgo se considera especialmente alto en configuraciones con mod_php, donde se ha demostrado un exploit que permite disparar el ataque antes de que corra cualquier código de la aplicación.
Quién debe actualizar y cómo hacerlo
Afecta a cualquier instalación de PHP que atienda solicitudes web. La única solución completa y segura es actualizar a una de las versiones publicadas con el parche: 8.5.12, 8.4.27, 8.3.36 o 8.2.35. Las descargas de código fuente y binarios para Windows están disponibles en la página oficial de descargas de PHP; las distribuciones Linux y proveedores LTS ya han recibido los parches con antelación, por lo que los administradores deben comprobar los paquetes de su distribuidor.
Nota sobre versiones EOL: PHP 8.1 y versiones anteriores ya no reciben actualizaciones del proyecto PHP; algunos proveedores LTS o distribuciones pueden ofrecer parches backportados, así que contacte con su proveedor si no puede migrar inmediatamente a una versión soportada.
Mitigaciones temporales y recomendaciones prácticas
El comunicado de seguridad aclara que no existen mitigaciones completas: cualquier medida distinta a actualizar reduce la exposición solo ante rutas de ataque específicas, pero no garantiza seguridad. Aun así, si no puede aplicar el parche de inmediato, considere:
- Reducir la superficie expuesta: limitar el tráfico directo hacia procesos PHP (por ejemplo, usar un proxy inverso, reglas en el WAF o cortafuegos) para bloquear peticiones maliciosas conocidas.
- Evitar usar mod_php en Apache cuando sea posible, migrando a PHP-FPM con configuración de pools aislados por sitio o contenedor, lo que reduce el impacto por worker compartido.
- Revisar logs y monitoreo: buscar peticiones inusuales o errores relacionados con fallos de memoria, reinicios de procesos o corrupción en la atención de peticiones.
Qué debe hacer el administrador
- Comprobar la versión actual de PHP en todos los servidores que atienden web.
- Actualizar a la versión parcheada más adecuada (8.5.12, 8.4.27, 8.3.36 o 8.2.35) mediante los paquetes oficiales o los repositorios de su distribución/proveedor.
- Si no puede actualizar de inmediato, aplicar mitigaciones temporales descritas y planificar la actualización urgente.
- Después de actualizar, verificar la integridad del servicio y revisar logs para detección de actividad sospechosa previa a la corrección.
El aviso de PHP incluye detalles técnicos en la asesoría de seguridad para administradores que quieran entender los vectores concretos y las pruebas de concepto. Dado el carácter crítico de las fallas y la existencia de exploits demostrados en al menos una configuración (mod_php), la recomendación oficial es no demorar la actualización.
Lee también:
- Atarim se incorpora como patrocinador Silver de MariaDB Foundation
- Linux elimina las funciones inseguras __get_user() y __put_user() del kernel
Fuente: PHP.net news & announcements




