Desarrollo

Alerta crítica en PHP: dos vulnerabilidades RCE sin autenticación que obligan a actualizar hoy

Hugo Laguna
PHP codigo

PHP corrige dos fallos críticos que permiten tomar el control de servidores. Si usas WordPress, Magento o PrestaShop, tu web funciona con PHP: revisa hoy que tu hosting lo haya actualizado.

El 21 de octubre de 2026 el equipo de seguridad de PHP publicó un aviso de máxima prioridad. Hay dos vulnerabilidades críticas, ambas con una puntuación CVSS v4.0 de 9.2, que permiten a un atacante ejecutar código en el servidor sin autenticarse. El propio equipo de PHP es claro: actualizar es la única solución completa.

En resumen: si tienes PHP sirviendo peticiones web, actualiza hoy mismo a 8.5.12, 8.4.27, 8.3.36 u 8.2.35. PHP 8.1 y anteriores ya no reciben parches oficiales.

¿Me afecta si no soy programador?

Probablemente sí. PHP es el lenguaje con el que funcionan muchas de las webs y tiendas online más usadas del mundo. Aunque nunca hayas escrito una línea de código, si tu web está hecha con alguna de estas herramientas, funciona sobre PHP:

  • WordPress, incluidas las tiendas online con WooCommerce
  • Magento Open Source y Adobe Commerce
  • PrestaShop
  • Drupal y Joomla
  • Moodle y otras plataformas de formación online
  • Webs y aplicaciones a medida hechas con Laravel, Symfony o CodeIgniter
Importante: actualizar WordPress, PrestaShop, tus plugins o tu tema no soluciona este problema. El fallo está en PHP, el programa del servidor sobre el que funciona tu web. Esa actualización la tiene que hacer quien gestiona el servidor: tu proveedor de hosting, tu agencia o tu equipo técnico.

Qué hacer si no eres técnico

  1. Averigua quién gestiona el servidor de tu web. Normalmente es la empresa donde pagas el alojamiento (hosting), tu agencia o el profesional que te hizo la web.
  2. Mira qué versión de PHP usas. En WordPress aparece en Herramientas › Salud del sitio › Información › Servidor. En PrestaShop, en Parámetros avanzados › Información. En la mayoría de hostings también la verás en el panel de control (cPanel, Plesk, etc.).
  3. Escríbeles hoy mismo y pide que te confirmen por escrito que el servidor ya tiene la actualización de seguridad aplicada.
  4. Si tu versión es PHP 8.1 o anterior, pide además un plan de migración. Esas versiones ya no reciben parches oficiales, y es probable que tu web necesite una revisión para funcionar en una versión actual.

Ojo con el número de versión: muchos hostings aplican el parche sobre la versión que ya tienen, así que el número puede no coincidir exactamente con 8.5.12, 8.4.27, 8.3.36 u 8.2.35 y aun así estar protegido. Por eso es mejor pedir confirmación al proveedor que fiarse solo del número.

Puedes enviarles este mensaje tal cual:

Hola. El 21 de octubre de 2026 PHP publicó un aviso de seguridad crítico (CVE-2026-109618 y CVE-2026-109619). ¿Podéis confirmarme qué versión de PHP usa mi web y si ya tiene aplicada la corrección, ya sea con la versión 8.5.12, 8.4.27, 8.3.36 u 8.2.35 o con el parche de la distribución? Gracias.

¿Y si mi tienda está en Shopify, Wix o Squarespace? En esas plataformas tú no gestionas el servidor, así que esta actualización no depende de ti.

A partir de aquí entramos en el detalle técnico, pensado para equipos de desarrollo y de sistemas.

Qué ha pasado

El 20 de octubre el equipo de PHP anunció que publicaría una versión de seguridad al día siguiente a las 14:00 UTC, sin dar detalles técnicos hasta tener los parches listos. Las distribuciones Linux y los proveedores de soporte extendido (LTS) recibieron los parches por adelantado, así que es probable que tu gestor de paquetes ya tenga la actualización disponible.

Las dos vulnerabilidades

CVE-2026-109618: RCE por corrupción tras falta de memoria (OOM)

Un error de memoria agotada puede interrumpir PHP cuando los datos internos de la petición están a medio inicializar. Después, la limpieza de la petición trata esos datos inválidos como si fueran válidos.

CVE-2026-109619: RCE por estado global obsoleto

Parte del estado interno de una petición sobrevive después de liberar su memoria. Una petición posterior atendida por el mismo worker puede usarlo antes de que se reinicialice.

¿Quién está en riesgo?

Están afectadas todas las instalaciones de PHP que atienden peticiones web: PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP y LiteSpeed. El riesgo más alto está en mod_php: existe un exploit demostrado en el que una petición sin autenticar dispara el ataque antes de que se ejecute el código de tu aplicación. Ni un WAF a nivel de aplicación ni un framework bien escrito te protegen en ese caso.

Cómo actualizar

  • Versiones soportadas: actualiza a 8.5.12, 8.4.27, 8.3.36 u 8.2.35. Los binarios (también para Windows) y el código fuente están en la página de descargas de PHP.
  • Paquetes de tu distribución: revisa las actualizaciones de tu distro o de tu proveedor LTS, que ya recibieron los parches por adelantado.
  • PHP 8.1 o anterior: el proyecto ya no los mantiene. Pregunta a tu proveedor si ofrece backports o, mejor aún, migra a una versión soportada. Para quien compile desde fuente, el equipo de seguridad ha publicado parches mínimos para 7.4, 8.0 y 8.1 en el repositorio php-src.
  • Si usas rpms.remirepo.net: ese repositorio, mantenido por voluntarios, no tendrá la actualización hoy. PHP recomienda pasarse a los paquetes de la distribución o compilar desde fuente.
  • PHP 8.2: llega a fin de vida el 31 de diciembre de 2026. Planifica ya la migración.

Para comprobar rápidamente la versión y los ajustes relevantes en un servidor:

php -v
php -i | grep -E "memory_limit|post_max_size|upload_max_filesize|session.upload_progress.enabled"

Ten en cuenta que php -v en la línea de comandos puede no coincidir con la versión que usa tu servidor web; compruébalo también desde el propio pool de FPM o el módulo de Apache.

Si no puedes actualizar hoy

Estas medidas reducen la exposición a vías de ataque concretas, pero no hacen que la instalación sea segura. Úsalas solo como puente hasta aplicar el parche.

Contra CVE-2026-109618 (OOM)

  • Configura memory_limit=-1 de forma que la aplicación no pueda sobrescribirlo (por ejemplo con php_admin_value en el pool de FPM o en Apache) y comprueba que ninguna otra configuración vuelve a poner un límite. Elimina el fallo controlable por límite de memoria de PHP, aunque un fallo de asignación subyacente todavía podría alcanzar la ruta vulnerable.
  • Baja post_max_size: 8M si no necesitas subidas de ficheros y 32M si sí las necesitas. Mantén upload_max_filesize por debajo de ese valor.
  • Limita en el servidor web o en el proxy el tamaño de la petición, el número de campos, partes multipart, cabeceras y la profundidad de anidamiento, incluidas las peticiones que llegan sin Content-Length.
  • Usa límites de contenedor o cgroup que maten solo el worker afectado. No los sustituyas por RLIMIT_AS ni RLIMIT_DATA, porque pueden provocar precisamente el fallo vulnerable.

Contra CVE-2026-109619 (estado obsoleto)

  • Desactiva session.upload_progress.enabled en php.ini, en el pool de FPM o en la configuración del servidor, y reinicia todos los workers. No sirve hacerlo con ini_set() ni con .user.ini. Bloquea las rutas confirmadas a través de sesiones, pero no otras variantes.
  • En PHP 8.5, configura fatal_error_backtraces=0 y reinicia los workers.
  • Elimina ajustes inválidos o deprecados que generen avisos antes de la inicialización. Ocultarlos con error_reporting, display_errors o @ no sirve.
  • Corrige los errores fatales y los timeouts que un atacante pueda provocar, también en callbacks, en el procesado de subidas o importaciones y en tareas de limpieza.

Checklist rápido

  1. Inventario: qué servidores, contenedores e imágenes Docker ejecutan PHP y en qué versión.
  2. Prioriza lo expuesto a Internet y, dentro de eso, los servidores con mod_php.
  3. Actualiza, reconstruye las imágenes y reinicia todos los workers.
  4. Aplica las mitigaciones solo donde no puedas parchear hoy y fija una fecha para hacerlo.
  5. Revisa los logs en busca de picos de errores de memoria o fatales inusuales en las últimas horas.

Tienes todos los detalles técnicos en el aviso oficial de seguridad de PHP y en los advisories de GitHub enlazados arriba.

¿Necesitas ayuda? En Experimentality Labs te acompañamos

Si no tienes claro si tu web está afectada, o no sabes por dónde empezar, no tienes que resolverlo solo. En Experimentality Labs podemos ayudarte a:

  • Comprobar qué versión de PHP usa tu web y si ya tiene aplicada la corrección.
  • Hablar con tu proveedor de hosting y coordinar la actualización.
  • Aplicar el parche o, si no es posible hoy, las medidas temporales para reducir el riesgo.
  • Planificar la migración si tu web funciona con PHP 8.2 o anterior, para que siga siendo compatible y segura.

Trabajamos con WordPress, WooCommerce, Magento, PrestaShop y desarrollos a medida. Escríbenos con cualquier consulta y lo revisamos contigo.

phpseguridadvulnerabilidadescvewordpressmagentoprestashopdesarrollo