En resumen

PHP tiene una falla crítica (CVE-2026-109619): un worker puede reutilizar memoria de una petición anterior y esto permite ejecutar código de forma remota y sin autenticación. Afecta a servidores con PHP 8.2, 8.3, 8.4 y 8.5 anteriores a las versiones corregidas, tanto con Apache mod_php como con PHP-FPM. Actualiza PHP cuanto antes y reinicia todos los workers.

Guía paso a pasoCómo mitigar las fallas críticas de PHP paso a paso →

Qué está pasando

PHP guarda cierta información global (errores, sesiones, objetos y extensiones) que el proceso worker conserva entre peticiones, pero que apunta a memoria de una sola petición. Esa información debe limpiarse antes de liberar la memoria. Si no se limpia, la petición siguiente que atiende el mismo worker puede leer datos que ya no existen (use after free). Con una manipulación cuidadosa de la memoria, un atacante puede llegar a ejecutar código remotamente.

El ataque necesita dos pasos en peticiones distintas que lleguen al mismo worker. Primero, una operación deja datos "huérfanos", por ejemplo cuando un error fatal la interrumpe: falta de memoria, Maximum execution time exceeded, fallo de require o errores de compilación. Después, otra operación usa esos datos antes de que PHP inicialice la nueva petición. Los dos casos confirmados son los avisos generados por configuraciones INI aplicadas por petición (por ejemplo, en .htaccess, php_value o parámetros PHP_VALUE enviados a FPM) y el progreso de subida de archivos de sesión (session.upload_progress), que viene activado por defecto.

El caso más sólido afecta a PHP 8.5 con fatal_error_backtraces activado y se demostró con ejecución remota de código en Apache mod_php. El caso de progreso de subida de sesión se validó tanto en mod_php como en PHP-FPM. Cambiar error_reporting, usar @ o desactivar display_errors o log_errors no protege, porque PHP accede a los datos antes de decidir si muestra o registra el aviso.

El impacto confirmado es ejecución remota de código sin autenticación con los privilegios del proceso web, además de fuga de información de memoria. Tener varios workers o reciclarlos reduce la probabilidad de éxito, pero no elimina el problema. Según el aviso, no existe una mitigación por configuración que cubra todos los casos.

Vulnerabilidades

CVECVSSDescripción
CVE-2026-109619—Uso de memoria liberada en PHP por estado global que sobrevive entre peticiones del mismo worker (errores, sesión, objetos y extensiones). Permite fuga de memoria y ejecución remota de código sin autenticación.

Productos afectados

ProductoVersiones afectadasVersión corregida
PHP (php-src) 8.2< 8.2.358.2.35
PHP (php-src) 8.3< 8.3.368.3.36
PHP (php-src) 8.4< 8.4.278.4.27
PHP (php-src) 8.5< 8.5.128.5.12

Qué hacer ahora

  1. Identifica todos los servidores con PHP y verifica la versión instalada (por ejemplo, con php -v o phpinfo()), incluyendo los que usan Apache mod_php, PHP-FPM o LSAPI.
  2. Actualiza a PHP 8.2.35, 8.3.36, 8.4.27 o 8.5.12 según tu rama. Es la única mitigación confiable.
  3. Reinicia todos los workers de PHP (Apache, PHP-FPM u otros) después de actualizar.
  4. Aplica también las recomendaciones del aviso relacionado GHSA-w8hw-w9fx-j79w (https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w).
  5. Considera dejar session.upload_progress.enabled=0 aunque ya hayas actualizado, si no usas esa función.

Si no puedes actualizar de inmediato

Medidas temporales: reducen la exposición, pero no reemplazan la actualización.

¿No sabes si te afecta?

Te ayudamos a revisar sin costo si tus servidores o equipos usan una versión afectada por esta alerta, y qué conviene hacer primero.

Revisar si me afecta
Recomendación UpTech

Parte por los servidores expuestos a Internet que usan Apache con mod_php o que permiten overrides por directorio (.htaccess), y por las instalaciones con PHP 8.5: ahí están los casos confirmados. No olvides los servidores olvidados o heredados, los hostings compartidos, los contenedores con imágenes antiguas y los paneles de administración internos, que suelen quedar fuera de los ciclos de actualización. Si dependes de un proveedor de hosting, confírmale por escrito qué versión de PHP tienes y cuándo la actualizará.

Mientras actualizas, desactivar session.upload_progress.enabled casi nunca afecta a las aplicaciones y reduce bastante la exposición. Aprovecha para limpiar directivas obsoletas en .htaccess y en la configuración por sitio. Recuerda que el problema no termina al instalar el paquete: hasta que reinicies todos los workers, sigue activa la versión vulnerable.

Cómo te ayuda UpTech

Cerberus WAF

Mientras aplicas la actualización, podemos definir en Cerberus WAF reglas específicas para las rutas y parámetros vulnerables de tu sitio. Reduce la exposición, pero no reemplaza el parche.

Conocer el servicio →
Servicios Gestionados TI

Con Gestión de Parches, las actualizaciones de seguridad de sistemas operativos y aplicaciones se aplican de forma programada, sin depender de que alguien lea esta alerta a tiempo.

Conocer el servicio →
Respaldo y Monitoreo

Los respaldos inmutables (RPO desde 15 minutos) te dejan un punto de restauración limpio si la falla llega a ser explotada.

Conocer el servicio →

Referencias

  1. https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
  2. https://www.cve.org/CVERecord?id=CVE-2026-109619
Basado en el aviso de seguridad oficial del proyecto PHP GHSA-6wmf-4rv5-p3rp: RCE via stale global state. Traducción, resumen y recomendaciones: UpTech, con apoyo de IA. Antes de aplicar cambios, confirma las versiones en el aviso oficial del fabricante.