Ir al contenido

Internet

PHP2Shell: el fallo de PHP que obliga a actualizar medio internet y qué hacer si tienes una web

PHP ha publicado parches de urgencia para dos fallos que permiten tomar el control de un servidor sin contraseña. Si tienes un WordPress o una tienda online, esto va contigo: te contamos qué versiones están corregidas y cuántas webs se quedan fuera.

Por Redacción 2 min de lectura

Ilustración de un centro de datos con un armario de servidores en rojo con un elefante morado agrietado y técnicos con chaleco naranja corriendo a repararlo
Imagen generada por Kilobita

PHP es el lenguaje con el que funcionan WordPress, PrestaShop, Moodle y buena parte de las webs que visitas a diario. El 21 de octubre publicó PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35, que corrigen dos fallos críticos que se conocen juntos como PHP2Shell. Su propio equipo pide actualizar «inmediatamente».

Qué permite el fallo

Los dos fallos (CVE-2026-109618 y CVE-2026-109619) permiten ejecutar código en el servidor sin estar identificado, es decir, que un desconocido pueda hacer lo que quiera con la web. Los dos nacen del mismo problema: cuando una petición termina de forma anómala, PHP puede dejar su memoria en mal estado y la siguiente petición la reutiliza.

Afectan a cualquier instalación de PHP que sirva páginas web, sea con PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP o LiteSpeed. Según PHP, el riesgo es mayor con mod_php: ahí han demostrado un ataque que se dispara con una petición sin identificar antes de que llegue a ejecutarse el código de la propia web.

No es solo teoría. El centro de ciberseguridad británico pidió a las organizaciones actualizar o desconectar sus sistemas hasta poder hacerlo, y Cloudflare dijo que ya veía los primeros ataques antes de que salieran los parches. Los fallos los encontraron por separado investigadores de Calif, con ayuda de un modelo de OpenAI, y de Wiz.

Cuántas webs se quedan sin parche oficial

PHP solo publica arreglos para las ramas que mantiene, de la 8.2 en adelante. Para ver cuántas webs se quedan fuera hemos mirado las estadísticas públicas de WordPress.org, que recogen la versión de PHP de las instalaciones de WordPress. Estos son los datos del 22 de octubre:

Versión de PHPWebs WordPressQué pasa con PHP2Shell
8.2 o posterior64,2 %Parche oficial: hay que instalarlo
7.4, 8.0 y 8.130,2 %Sin versión oficial; solo un arreglo mínimo para quien compila PHP
Anterior a 7.45,7 %Sin nada del proyecto PHP

Es decir, algo más de un tercio de los WordPress funcionan con versiones que PHP ya no mantiene. Dada la gravedad, el equipo de PHP ha publicado arreglos mínimos para 7.4, 8.0 y 8.1, pero solo en código fuente: no sirven a quien depende de un alojamiento compartido. Algunas distribuciones de Linux y algunos proveedores con soporte extendido sí los incluyen en sus paquetes.

Qué hacer si tienes una web

  1. Averigua tu versión de PHP. En WordPress está en Herramientas, Salud del sitio, Información, Servidor. En casi todos los paneles de alojamiento aparece en el apartado de PHP.
  2. Si estás en 8.2 o superior, comprueba que tienes la última de tu rama (8.2.35, 8.3.36, 8.4.27 u 8.5.12). En alojamiento compartido lo actualiza el proveedor: pregúntale si ya lo ha hecho.
  3. Si estás en 8.1 o anterior, toca subir de versión. Antes, haz una copia de seguridad y prueba que tus plugins y tu tema funcionan con la nueva.
  4. Si gestionas tu propio servidor, PHP enumera medidas provisionales, como desactivar session.upload_progress o bajar post_max_size, pero avisa de que reducen el riesgo y no lo eliminan.

Kilobita funciona con WordPress, así que nos hemos mirado a nosotros mismos: nuestro servidor responde con PHP 8.4.27, una de las versiones corregidas.

Que tu web no tenga datos interesantes no te salva. Estos ataques se lanzan en masa contra todo lo que responde, y una web tomada sirve para colgar estafas, enviar spam o atacar a otras.

Sigue leyendo