Diagnóstico
49 € + IVA
- Versión exacta de PHP y quién la mantiene
- Si tu hosting ya ha aplicado el parche
- Si tu web, tema y plugins aguantan la versión corregida
- Informe con lo que hay que hacer, o con que no hace falta nada
PHP ha corregido dos fallos que permiten ejecutar código en el servidor sin contraseña (CVE-2026-109618 y CVE-2026-109619, gravedad 9,2 sobre 10). Afectan a las webs hechas con PHP —WordPress, WooCommerce, PrestaShop, Joomla— que no estén en una versión corregida. Aquí tienes qué ha pasado y qué hacer. Si prefieres que lo revisemos nosotros, te decimos si tu web lo está y la actualizamos.
Publicado el · actualizado el · por el equipo de QAmezIA
Resumen
Qué ha pasado
El 20 de octubre, el equipo de seguridad de PHP avisó de que al día siguiente publicaría una versión de seguridad para dos fallos críticos, los dos con una puntuación CVSS v4.0 de 9,2. El 21 de octubre salieron PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35, que los corrigen. Según el aviso oficial de PHP, ambos pueden permitir la ejecución remota de código sin autenticación.
CVE-2026-109618, «ejecución remota por corrupción en falta de memoria». Cuando PHP se queda sin memoria durante una petición, corta lo que estaba haciendo. Si eso ocurre mientras ciertos datos internos de la petición están a medio preparar, al cerrar la petición PHP puede tratarlos como si fueran válidos. El aviso técnico explica que un atacante puede provocar esa falta de memoria con peticiones de formulario manipuladas (las de tipo «multipart», las mismas que se usan para subir archivos), sin salirse de los límites normales de PHP, y que la ejecución de código está confirmada en Apache con mod_php y los límites por defecto.
CVE-2026-109619, «ejecución remota por estado global obsoleto». Algunos datos internos de una petición pueden sobrevivir después de que se libere la memoria que los respalda. Si la petición siguiente cae en el mismo proceso, puede usar esos datos antes de que se reinicien. Es lo que se conoce como «uso después de liberar» (use-after-free). El aviso técnico confirma dos caminos para provocarlo: las trazas de errores fatales en PHP 8.5 y el progreso de subida de archivos de las sesiones cuando se interrumpe por falta de memoria.
En la práctica, quien explote cualquiera de las dos vulnerabilidades puede ejecutar código con los permisos del usuario con el que corre la web. Eso suele bastar para leer la base de datos, modificar páginas, instalar puertas traseras o usar el servidor para enviar spam. No es un ataque trivial —la complejidad está calificada como alta—, pero un fallo así, con el parche ya público, es de los que se intentan explotar en masa en cuanto alguien publica cómo hacerlo.
Lo que no ha pasado
No es un fallo de WordPress, de WooCommerce ni de ningún plugin, y actualizar WordPress no lo arregla. Está en el intérprete de PHP que ejecuta tu web. Tampoco significa que tu web haya sido atacada: significa que, si está en una versión afectada, conviene actualizar cuanto antes.
A quién afecta
PHP considera en riesgo a toda instalación de PHP que sirva peticiones web. Por cómo ejecuta PHP el servidor, el riesgo no es igual en todos los casos:
| Cómo se ejecuta PHP | Qué dicen los avisos |
|---|---|
| Apache con mod_php | Riesgo más alto. Ataque demostrado: una petición sin autenticar lo dispara antes de que se ejecute tu propia web. |
| PHP-FPM (Nginx o Apache) | Incluido en el aviso. Para el primer fallo, «probablemente susceptible», aún sin confirmar. |
| LiteSpeed (LSAPI) | Incluido en el aviso; probablemente susceptible según el análisis del código. |
| FrankenPHP | Incluido en el aviso; probablemente susceptible según el análisis del código. |
| php-cgi | Incluido en el aviso. |
Traducido a tipos de web: te afecta si tu web funciona con PHP en un hosting o servidor que gestionas tú o tu proveedor. Eso incluye WordPress y WooCommerce, PrestaShop, Joomla, Drupal, Magento, Moodle y las aplicaciones hechas a medida en PHP (Laravel, Symfony o PHP sin framework).
No tienes que hacer nada si tu web está en una plataforma cerrada como Shopify, Wix o Squarespace: ahí no gestionas el servidor ni la versión de PHP. Tampoco afecta a webs estáticas o hechas con otras tecnologías sin PHP en el servidor.
Primer paso
Es lo primero que hay que mirar, y se puede hacer en un par de minutos por cualquiera de estas vías:
phpinfo() (bórrala en cuanto la mires) o revisando el paquete instalado con el gestor de paquetes del sistema.Cuidado con php -v. Ese comando enseña la versión de PHP de la línea de comandos, que no siempre es la que sirve la web: en un mismo servidor puede haber varias versiones instaladas a la vez. Lo que cuenta es la versión del PHP que atiende las peticiones de tu dominio.
Y otra trampa: en servidores con Debian, Ubuntu o Red Hat, la distribución suele aplicar el parche sin cambiar el número de versión de PHP. Una «8.2.x» de distribución puede estar corregida aunque el número sea menor que 8.2.35. En ese caso hay que mirar el boletín de seguridad de la distribución y la versión exacta del paquete, no solo el número de PHP.
Versiones corregidas
| Tu rama | Versión corregida | Qué hacer |
|---|---|---|
| PHP 8.5 | 8.5.12 | Actualizar a la 8.5.12 o posterior. |
| PHP 8.4 | 8.4.27 | Actualizar a la 8.4.27 o posterior. |
| PHP 8.3 | 8.3.36 | Actualizar a la 8.3.36 o posterior. |
| PHP 8.2 | 8.2.35 | Actualizar a la 8.2.35, y planificar el salto: deja de tener soporte el 31-12-2026. |
| PHP 8.1, 8.0, 7.4 o anterior | Sin versión oficial | Parche de tu proveedor (pide el boletín) o subir a una rama con soporte. |
Si estás en una rama con soporte (8.2 a 8.5), basta con subir a la última versión de tu misma rama: es un cambio pequeño y rara vez rompe nada. Si estás en PHP 8.2, aprovecha para planificar el salto a 8.3 o superior, porque el 31 de diciembre de 2026 deja de recibir arreglos de seguridad.
Si estás en PHP 8.1 o anterior, el proyecto PHP ya no publica versiones para tu rama. Por la gravedad del caso, su equipo de seguridad ha dejado parches mínimos para 7.4, 8.0 y 8.1, pero son para quien compila PHP desde el código fuente. En un hosting normal, las salidas reales son dos: que tu proveedor tenga un parche propio (y te lo confirme por escrito) o subir a una rama con soporte. Esto segundo es lo que más se rompe si se hace sin probar.
Fuente: aviso oficial de PHP y avisos de GitHub GHSA-w8hw-w9fx-j79w y GHSA-6wmf-4rv5-p3rp.
Quién tiene que actualizar
Hosting compartido (el habitual en webs de empresas pequeñas): el proveedor gestiona PHP. Lo normal es que actualice o aplique el parche por su cuenta, pero muchas webs están fijadas en una versión antigua desde el panel porque «así funcionaba». Si tu web está en 7.4 u 8.0 por esa razón, el proveedor no puede subirla sin arriesgarse a romperla, y puede que no lo haga.
VPS o servidor dedicado: aquí actualizas tú (o quien te lleve el servidor). Hay que instalar el paquete corregido de la distribución, o la versión nueva si compilas PHP, y reiniciar los procesos de PHP (PHP-FPM, Apache o el que uses) para que la versión nueva entre en uso. Instalar sin reiniciar deja la versión vieja corriendo.
Hosting gestionado de WordPress o tienda: suelen encargarse ellos. Aun así, conviene pedir confirmación por escrito de la versión y la fecha del parche.
Un aviso concreto de PHP: si tu servidor instala PHP desde el repositorio de voluntarios rpms.remirepo.net, el día del aviso todavía no tenía las versiones nuevas. PHP recomienda pasar a los paquetes de la distribución o compilar desde el código fuente para poder actualizar al momento.
Para técnicos
PHP propone ajustes que reducen la exposición a los caminos de ataque conocidos. No dejan la instalación segura: el aviso del segundo fallo dice literalmente que no hay una mitigación completa por configuración. Úsalos solo como puente hasta actualizar.
session.upload_progress.enabled=0 en php.ini, en el pool de FPM o en la configuración del servidor, y reiniciar todos los procesos. No vale hacerlo con ini_set() ni con .user.ini.fatal_error_backtraces=0 y reiniciar todos los procesos.post_max_size: 8M si la web no recibe archivos, 32M si los recibe, con upload_max_filesize por debajo.memory_limit=-1 de forma que la aplicación no pueda cambiarlo (por ejemplo, con php_admin_value en el pool de FPM o en Apache), y apoyarse en un límite del contenedor o del cgroup que cierre solo el proceso afectado. PHP desaconseja usar RLIMIT_AS o RLIMIT_DATA, porque pueden provocar justo el fallo.Content-Length.display_errors o @ no sirve.Si no sabes qué es un pool de FPM ni dónde está tu php.ini, no toques nada de esto: en un hosting compartido no tendrás acceso a la mayoría de esos ajustes y lo correcto es pedir al proveedor que actualice. Las instrucciones completas están en el aviso oficial.
Paso a paso
Subir de versión dentro de la misma rama es sencillo. Cambiar de rama es donde se rompen las webs: un plugin que usa funciones que ya no existen, un tema antiguo o un módulo de pago que no aguanta la versión nueva. Este es el orden que seguimos:
Lo que vemos a menudo
php -v. Puede enseñar una versión distinta de la que sirve la web.Si sospechas algo
Actualizar PHP cierra la puerta, pero no echa a quien ya hubiera entrado. Si tu web ha estado en una versión vulnerable, conviene mirar si hay señales de que alguien la ha manipulado. Estas son señales generales de una web comprometida, por este fallo o por cualquier otro; ninguna prueba por sí sola que te hayan atacado, pero todas merecen una revisión:
.php nuevos o modificados que nadie ha subido, sobre todo en carpetas de imágenes o de subidas (en WordPress, wp-content/uploads).Si ves algo de esto, no borres nada a lo loco: los registros del servidor sirven para saber por dónde entraron y qué tocaron. El orden razonable es aislar la web o ponerla en mantenimiento, guardar una copia de cómo está (con sus registros), restaurar una copia de seguridad limpia de antes del problema, actualizar PHP y el resto del software y, después, cambiar todas las contraseñas: las del panel del hosting, la base de datos, el FTP o SFTP y los usuarios de la web. Cambiarlas antes de limpiar no sirve, porque quien esté dentro puede volver a leerlas.
Si en tu web hay datos personales de clientes y ha habido acceso indebido, puede que tengas que notificarlo a la Agencia Española de Protección de Datos en un plazo de 72 horas desde que lo sepas. Consulta con quien te lleve la protección de datos.
Si quieres que lo hagamos nosotros
49 € + IVA
desde 149 € + IVA
Precio cerrado tras el diagnóstico.
desde 399 € + IVA
Presupuesto cerrado tras el diagnóstico.
01
Antes de tocar nada dejamos por escrito qué se revisa, con qué acceso y en qué momento.
02
Versión real de PHP, quién la mantiene, si ya tiene el parche y si tu web aguanta la corregida.
03
Si hace falta, actualizamos con copia de seguridad y comprobamos que todo sigue funcionando.
Preguntas frecuentes
No se puede saber sin mirarla. Depende de la versión exacta de PHP, de cómo la sirve el servidor y de si tu proveedor ya ha aplicado el parche. Las distribuciones de Linux y los proveedores con soporte extendido recibieron los arreglos antes de que se publicaran. Eso es justo lo que comprueba el diagnóstico.
PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35, publicadas el 21 de octubre de 2026. Cualquier versión anterior de esas ramas está afectada, salvo que tu proveedor haya aplicado el parche por su cuenta.
PHP lo califica de crítico, con una puntuación CVSS v4.0 de 9,2 sobre 10 en los dos fallos. Permiten ejecutar código en el servidor sin iniciar sesión, con los permisos del usuario que ejecuta la web. Explotarlos no es trivial (la complejidad del ataque es alta), pero en Apache con mod_php el ataque está demostrado.
En muchos hostings compartidos, sí: actualizan PHP o aplican un parche propio. Pero si tu web está fijada en una versión antigua (7.4, 8.0, 8.1), si tienes servidor propio o VPS, o si nadie revisa el panel, puede seguir sin corregir. Lo comprobamos y te decimos en qué caso estás.
En el escritorio de WordPress, entra en Herramientas → Salud del sitio → Información y abre el apartado «Servidor». Ahí aparece la versión de PHP que usa la web. Compárala con la tabla de versiones corregidas de esta página.
Esas versiones ya no reciben arreglos oficiales de PHP. O tu proveedor tiene un parche propio (pregúntale y pídele el boletín), o hay que subir a una versión con soporte, comprobando antes que tu web, sus plugins y su tema funcionan con ella. PHP ha publicado parches mínimos para 7.4, 8.0 y 8.1, pero son para quien compila PHP desde el código fuente, no para un hosting normal.
No. PHP propone medidas que reducen el riesgo mientras no puedes actualizar, pero lo dice claro: no dejan la instalación segura. Uno de los avisos llega a afirmar que no existe una mitigación completa por configuración. La única solución es actualizar.
No tienes que hacer nada: son plataformas cerradas en las que no gestionas el servidor ni la versión de PHP. Esto afecta a webs que tienen PHP en su propio hosting o servidor: WordPress, WooCommerce, PrestaShop, Joomla, Drupal, Magento, Moodle o aplicaciones hechas a medida en PHP.
Subir una versión menor dentro de la misma rama (por ejemplo, de 8.3.30 a 8.3.36) rara vez da problemas. Saltar de rama (de 7.4 a 8.3, por ejemplo) sí puede romper plugins, temas o código antiguo. Por eso se hace con copia de seguridad y comprobando antes formularios, pagos y el resto de funciones.
Acceso al panel del hosting, o el contacto de quien lo gestiona. Acordamos por escrito qué se revisa y cuándo antes de tocar nada. Nunca nos mandes contraseñas por un formulario ni por correo sin cifrar.
Te lo decimos y no hay nada más que pagar. Solo se paga el diagnóstico (49 € + IVA). Si hace falta actualizar, te damos precio cerrado antes de empezar.
No. Revisamos versiones, configuración y parches con tu permiso y por el acceso que nos des. No lanzamos exploits ni escaneos agresivos contra ninguna web, tampoco contra la tuya.
Glosario
Fuentes
Todo lo técnico de esta página sale de los avisos oficiales, que conviene leer si gestionas el servidor:
Esta página la mantiene el equipo de QAmezIA y la actualizamos si PHP publica cambios. Si ves algo que no cuadra con los avisos oficiales, escríbenos a hola@qamezia.com.
Déjanos tu teléfono y tu web y te llamamos para ver tu caso. Dejar tus datos no nos autoriza a revisar nada: el alcance se acuerda contigo por escrito.