Alerta de seguridad · octubre 2026
Alerta PHP2Shell
El 21 de octubre de 2026 PHP publicó parches de emergencia para dos vulnerabilidades críticas de ejecución remota de código. Te contamos qué ha pasado y qué hacer hoy, sin dramatismo.
Comprueba tu web
Escribe tu dominio y hacemos UNA consulta pasiva: leemos la versión de PHP que tu servidor expone públicamente. No escaneamos nada y no tocamos nada.
Resultado orientativo: la comprobación definitiva se hace desde dentro del servidor.
No guardamos dominios. Límite de 5 comprobaciones al día por dirección IP.
- CVE críticos
- 2
- CVSS máximo
- 9.2
- ramas PHP con parche
- 4
Qué ha pasado
El 21 de octubre de 2026, el proyecto PHP publicó parches de emergencia para dos vulnerabilidades críticas que permiten ejecutar código en el servidor sin autenticación alguna. Se las conoce como PHP2Shell y tienen una puntuación CVSS de 9,2 sobre 10:
- CVE-2026-109618: el gestor de memoria de PHP puede interrumpir la ejecución cuando se agota la memoria y dejar los datos internos de la petición parcialmente inicializados; la limpieza posterior puede tratar esos datos inválidos como si fueran válidos.
- CVE-2026-109619: un use-after-free: queda estado interno apuntando a memoria liberada, y la siguiente petición que procese el mismo worker puede acabar usándola.
No es un fallo teórico. Amazon (con su honeypot MadPot) detectó explotación real antes de la divulgación, desde el 17 de octubre, y la empresa Sansec ha reproducido el ataque contra WordPress, Drupal, Joomla, Magento, Laravel, Symfony, phpMyAdmin y Nextcloud. El NCSC británico ha llegado a recomendar valorar apagar los servicios que no se puedan parchear.
Quién está afectado
Prácticamente cualquier web que funcione con PHP en un servidor que no haya aplicado el parche: WordPress, WooCommerce, PrestaShop, Moodle, phpMyAdmin, aplicaciones a medida… y también las que corren en hosting compartido si el proveedor no ha actualizado.
El punto clave: es un fallo del lenguaje PHP, no de cada aplicación. Actualizar WordPress, phpMyAdmin o cualquier plugin no basta: hay que actualizar el PHP del servidor y reiniciar php-fpm, Apache o LiteSpeed. El parche solo surte efecto cuando se reinician los workers.
Actualización 23 de octubre: tercer CVE reconocido
El 23 de octubre el proyecto PHP reconoció oficialmente una tercera vulnerabilidad, CVE-2026-115560: otra ejecución remota de código, esta vez ligada a session.upload_progress cuando la aplicación cambia el serializador de sesión con ini_set() antes de session_start(). No es un bypass de los parches del 21 de octubre: es un vector nuevo y estrecho, que PHP describe como poco habitual en despliegues normales. El arreglo llegará en la próxima release regular de cada rama.
Mientras tanto, la mitigación es una línea en el php.ini del servidor (un ini_set() en la aplicación no llega a tiempo: el upload progress corre antes del código de la app), y reiniciar los workers:
session.upload_progress.enabled = 0
Si ya desactivaste upload progress siguiendo el aviso del 21 de octubre, no tienes que hacer nada más para este vector. Si tu aplicación no toca serializadores de sesión, el riesgo es bajo; aun así, desactivar upload progress si no lo usas es una buena práctica.
Además, en las propias versiones parcheadas (8.4.27 y 8.5.12) hay una regresión verificada de SimpleXML (double-free, php-src #24488): puede provocar crashes si tu aplicación usa SimpleXML, pero no es ejecución remota de código. PHP recomienda no revertir los parches del 21 de octubre; el arreglo está en camino (PR #24494).
Fuente: aviso informativo de PHP del 23 de octubre y el kit defensivo de Syhunt.
Qué hacer hoy
- Actualiza el PHP del servidor a una de las versiones con parche: 8.5.12, 8.4.27, 8.3.36 o 8.2.35. Si usas una distribución con soporte a largo plazo, el fix se ha backporteado; cPanel también lo ha backporteado desde 7.4 (ea-php74 y superiores).
- Reinicia php-fpm, Apache o LiteSpeed. Sin reinicio, el parche no protege nada, aunque el paquete esté instalado.
- Si tienes hosting gestionado (WordPress.com, SiteGround y similares), el proveedor debería haberlo hecho ya, pero conviene pedir confirmación por escrito.
- Si tu web la hizo un agente digitalizador del Kit Digital, escríbele y pide confirmación de que el PHP del servidor está actualizado y reiniciado. Muchas de las webs afectadas son pymes en esta situación.
- Si mantienes tú el servidor, comprueba la versión y reinicia los servicios; si no puedes parchearlo, valora desactivar temporalmente lo que no sea imprescindible.
Cómo comprobar tu web
Solo para tus propias webs: nunca escanees webs ajenas. Maneras fiables de saber qué versión de PHP usa tu servidor:
- WordPress: Escritorio → Herramientas → Salud del sitio → Información → versión de PHP.
- Panel del hosting (cPanel, Plesk): busca el selector «Versión de PHP».
- Por SSH:
php -v. Ojo: la versión de la línea de comandos puede diferir de la que usa el servidor web; lo más fiable es unphpinfo()temporal o preguntar al hosting. - Pregunta directamente a tu proveedor de hosting o de mantenimiento.
- Checkers online de terceros, verificados el 22 de octubre: senseforat.cat, una herramienta catalana gratuita y pasiva que hace una sola petición desde fuera sin tocar nada; php2shell.sh (de Imperva), Brandefense, Arvion y BugShield. Con un aviso honesto: leen la versión de PHP que el servidor expone públicamente, y muchos servidores la ocultan; si no dan resultado, usa los métodos 1 a 4.
Node.js y phpMyAdmin
phpMyAdmin no tiene parche propio: se protege actualizando el PHP del servidor donde corre.
El mismo día, Node.js publicó correcciones para 10 vulnerabilidades (4 high, 3 medium, 3 low) en las ramas 26.x, 24.x y 22.x: parches en las versiones 26.12.1, 24.22.1 y 22.23.4. La más grave es un RCE por escritura fuera de límites en el decodificador Brotli. Las ramas Node 20 y 18 están EOL y no recibirán parche: si las usas, toca migrar.
Otros que también ayudan
Cuando un problema es de este tamaño, muchos equipos le dedican trabajo y lo hacen bien. Estos tres recursos, verificados el 22 de octubre, nos parecen útiles y los enlazamos sin ninguna contraprestación:
- senseforat.cat: una herramienta gratuita y pasiva, en catalán, que hace una sola petición desde fuera —sin tocar nada— para saber si una web muestra PHP y con qué versión frente a PHP2Shell. Guarda un registro público de resultados (máximo 10 escaneos por minuto) y, además, vigila las webs de los 947 municipios de Cataluña con datos abiertos de la Generalitat.
- YesWeLab: un experimento con fuentes públicas (php.net, BOE, NVD, W3Techs) que estima que unas 115.500 webs del Kit Digital (en una horquilla de 82.900 a 166.700) siguen en versiones de PHP sin parche para PHP2Shell. También señala que las bases de la solución «Sitio web» (2.000 €) exigían hosting, accesibilidad y SEO, pero la palabra «seguridad» no aparece ni una vez; recoge la recomendación de la CISA de desconectar sistemas con PHP 8.1 o anterior; y ofrece un script gratuito para que los agentes digitalizadores inventaríen el CMS y las versiones de su cartera de webs.
- transparencia.omitsis.com: un evaluador gratuito de transparencia para fundaciones, ONG y asociaciones, que revisa hasta 30 páginas y PDFs y entrega un informe con la norma concreta de cada punto. Un buen ejemplo del mismo modelo, hecho por Omitsis, uno de nuestros clientes: herramientas gratuitas y útiles que generan confianza.
Somos bomberos, no competidores
Cuando el incendio es de esta magnitud, nadie pregunta de qué cuadrilla eres. PHP2Shell no es una oportunidad comercial: es un desastre natural a escala global que puede afectar a miles de millones de personas de forma directa o indirecta — la tienda de abajo, el ayuntamiento del pueblo, la web de la asociación del barrio.
Estos días, los ingenieros no somos proveedores: somos bomberos. Nadie compite con nadie: todos tiramos de la misma manguera. Por eso esta página enlaza sin pudor a recursos hechos por otros equipos: si tu web está en riesgo, te sirve igual venga de quien venga. Vamos todos a una.
¿No sabes por dónde empezar? Lo hacemos nosotros
Si tu web ha salido vulnerable y no tienes quien la parchee, lo podemos hacer nosotros: analizamos tu servidor, aplicamos el parche de PHP2Shell y verificamos que queda bien cerrado. De paso, revisamos los otros agujeros recientes (Node.js, phpMyAdmin) y te dejamos un informe claro de qué se ha tocado y cómo ha quedado.
Sin letra pequeña: nos cuentas tu caso, te decimos qué hay que hacer y cuánto tiempo lleva. Si lo puedes hacer tú mismo con las instrucciones de esta página, te lo diremos igualmente.
Escríbenos → o directamente a hola@file.cat.
Fuentes
- PHP: releases
- Node.js: October 2026 security releases
- NCSC británico sobre PHP2Shell
- Análisis de Wiz
- Help Net Security: PHP2Shell CVE-2026-109618 y CVE-2026-109619
Si necesitas ayuda para actualizar tu web, háblanos: lo hacemos cada día y te lo explicamos sin tecnicismos innecesarios.
Diagnóstico gratuito
IA local y privada para empresas, autónomos y organizaciones. Tus datos no salen de tu oficina.