Saltar al contenido

Pequeña empresa

php2shell: qué es el fallo crítico de PHP y qué hacer hoy

Ilustración de líneas ámbar: un planeta y un servidor web con un escudo agrietado que se está reparando

PHP ha corregido dos fallos críticos en el propio lenguaje. Si tu web, tienda online o intranet usan PHP, te toca actuar hoy.

Qué ha pasado

  • El 20 de octubre, PHP anunció una actualización crítica para el día 21 a las 14:00 UTC (16:00 en España).
  • Según CERT-EU, los parches salieron el 21 de octubre a las 13:30 UTC (15:30 en España), algo antes de lo previsto.
  • Los fallos son CVE-2026-109618 y CVE-2026-109619, ambos con 9,2 sobre 10 (CVSS v4.0). Se conocen como «php2shell».

En la práctica, un atacante sin usuario ni contraseña puede ejecutar órdenes en tu servidor con los permisos de la web. El fallo está en el intérprete de PHP, en cómo procesa formularios y subidas antes de ejecutar el código de tu web, así que hasta una página mínima es atacable.

Circula código que dice aprovechar los fallos, sin verificar. Cloudflare ve ataques tempranos que cambian para saltarse sus protecciones, e INCIBE-CERT habla de ataques previos a los parches. Aun así, Patchstack solo veía sondeos, sin pruebas firmes de intrusiones, y a las 17:00 UTC CISA aún no los daba por explotados, aunque pide parchear de inmediato.

La NSA estadounidense advierte de que estos fallos «suelen ofrecer una vía directa al sistema de archivos o a la base de datos del servidor». Por eso, agencias como el NCSC británico y la NSA aconsejan desconectar lo que no pueda actualizarse. Según la BBC, el Gobierno de Finlandia retiró temporalmente sus servicios web públicos por precaución, y la agencia de ciberseguridad de Países Bajos desconectó su propia web. Sin pánico, pero sin dejarlo para la semana que viene.

A quién afecta

Según PHP, son vulnerables todas las versiones sin corregir, incluidas las de septiembre; el ACSC australiano habla de todas desde PHP 5, y CERT-EU incluye las ramas sin soporte.

PHP está detrás de casi el 70 % de las webs cuyo lenguaje se conoce (el 69,3 %, según W3Techs), así que afecta a todo lo que funcione sobre él:

  • WordPress y WooCommerce, aunque el núcleo y los plugins estén al día.
  • PrestaShop, Magento / Adobe Commerce, Joomla y Drupal.
  • Moodle, Nextcloud, phpMyAdmin y Roundcube.
  • Aplicaciones a medida (Laravel, Symfony…), intranets y formularios olvidados que siguen en línea.

Da igual dónde esté alojada; el mayor riesgo, según PHP, es Apache con PHP integrado (mod_php).

Según Ox Security, Shodan mostraba el 20 de octubre unos 884.000 servidores (el 59 % de los que indican versión) con PHP 8.1 o anterior.

Cómo se arregla

Hay que actualizar PHP a 8.2.35, 8.3.36, 8.4.27 u 8.5.12 (o posterior), o instalar un paquete de tu distribución que incluya la corrección. Actualizar WordPress o los plugins no basta.

Si tienes hosting compartido

  • Mira qué versión de PHP usa tu web: en cPanel, en «Seleccionar versión de PHP» o «MultiPHP Manager»; en Plesk, en «Configuración de PHP».
  • El parche lo instala tu proveedor, no tú: cambiar de versión en el panel no sirve si su PHP no está actualizado. Pídele que confirme por escrito que ya ha corregido los dos CVE. Plesk para Linux lo tenía la tarde del 21; los paquetes de cPanel y CloudLinux se esperaban esa noche.

Si usas WordPress

  • Ve a Herramientas → Salud del sitio → Información → Servidor y mira la versión de PHP.
  • Antes de cualquier cambio, haz una copia de seguridad.

Si administras un servidor Linux

  • Comprueba la versión con php -v.
  • Actualiza con sudo apt update && sudo apt upgrade (Debian, Ubuntu) o sudo dnf upgrade (RHEL, AlmaLinux, Rocky). Debian 12 y 13 y Ubuntu 22.04 y posteriores ya lo tienen; Ubuntu 20.04 y anteriores lo reciben con Ubuntu Pro.
  • A las 15:24 UTC del 21, RHEL, AlmaLinux y Rocky no tenían paquete: aunque dnf no instale nada, sigues expuesto. Usa Remi o compila PHP, más las medidas temporales.
  • Remi ya ha publicado la corrección; a las 16:13 UTC, el PPA de Ondřej Surý y las imágenes oficiales de Docker aún no la tenían.
  • Ojo: las distribuciones a veces corrigen sin cambiar el número de versión.
  • Reinicia PHP-FPM (sudo systemctl restart php8.3-fpm, con tu número de versión; en RHEL, php-fpm) o Apache (apache2 o httpd). Sin reinicio, el parche no se aplica.

Si tienes PHP 8.1 o anterior

No habrá versión oficial. PHP solo ha publicado correcciones mínimas en código fuente para 7.4, 8.0 y 8.1 y nada para PHP 5 y 7.0–7.3. Algunas distribuciones y CloudLinux preparan parches para ramas antiguas. Lo sensato es migrar a 8.3 o superior: PHP 8.2 deja de tener soporte el 31 de diciembre de 2026. Si tu aplicación no funciona en una versión moderna, es el momento de adaptarla.

Mientras tanto: medidas temporales

Ninguna sustituye la actualización: PHP, CERT-EU e INCIBE-CERT avisan de que no hay mitigación completa.

  • WAF de Cloudflare: desde las 03:02 UTC del 21, Cloudflare aplica reglas automáticas en todos sus planes con WAF, incluido el gratuito, pero solo al tráfico que pasa por él. Pregunta también por el WAF de tu hosting.
  • Desactivar session.upload_progress.enabled en php.ini o PHP-FPM y reiniciar PHP (lo hace quien administra el servidor). Solo frena las vías conocidas de CVE-2026-109619 y no sirve con ini_set() ni .user.ini. En PHP 8.5, añade fatal_error_backtraces=0.
  • Contra CVE-2026-109618, PHP e INCIBE-CERT proponen ajustes de memoria y de tamaño de las peticiones: que los aplique quien administra el servidor, siguiendo esos avisos.
  • Si no puedes actualizar ni proteger una aplicación, CERT-EU, INCIBE-CERT, el NCSC británico y la NSA recomiendan desconectarla de internet hasta corregirla.

Después de actualizar: revisa

Comprueba que nadie entrara antes del parche:

  • Ficheros .php nuevos o modificados, sobre todo en la carpeta de subidas.
  • Tareas programadas (cron) o usuarios que no reconozcas.
  • Rachas de errores 500 en los registros.
  • Si encuentras algo raro, cambia las contraseñas del servidor, la base de datos y el panel.

Qué hacer hoy

  1. Haz inventario de todas las webs y aplicaciones PHP, incluidas las olvidadas.
  2. Actualiza hoy a una versión corregida, o pide a tu proveedor que lo confirme.
  3. Deja PHP en una rama con soporte y planifica salir de 8.2 antes de fin de año.

Más en nuestra guía de ciberseguridad para pymes. Y si no sabes qué versión tienes o no tienes quien lo haga, escríbenos o llámanos al 91 715 81 88: nos encargamos del mantenimiento de servidores y del alojamiento.

Fuentes

Preguntas frecuentes

¿Qué es php2shell?

Es el nombre informal de dos fallos críticos en el intérprete de PHP (CVE-2026-109618 y CVE-2026-109619), ambos con 9,2 sobre 10 en CVSS v4.0. Permiten que un atacante sin usuario ni contraseña ejecute órdenes en el servidor con los permisos de la web.

Si tengo WordPress y todos los plugins actualizados, ¿estoy protegido?

No. El fallo está en PHP, no en WordPress ni en los plugins. Mira la versión de PHP en Herramientas → Salud del sitio → Información → Servidor y pide a tu hosting que confirme que su PHP ya incluye el parche: 8.2.35, 8.3.36, 8.4.27, 8.5.12 o posterior, o un paquete de su distribución con los dos CVE corregidos.

¿Qué versiones de PHP corrigen el problema?

PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12, publicadas el 21 de octubre de 2026. Las distribuciones Linux pueden incluir la corrección sin cambiar el número de versión, así que conviene buscar los dos CVE en el registro de cambios del paquete. A las 15:24 UTC del 21 de octubre, RHEL, AlmaLinux y Rocky aún no tenían paquete corregido.

Tengo PHP 7.4 u 8.1, ¿hay parche?

No hay versión oficial. PHP ha publicado correcciones mínimas en código fuente para 7.4, 8.0 y 8.1, y algunas distribuciones parchean ramas antiguas en su soporte extendido. En hosting con CloudLinux, el proveedor prepara parches para ramas desde la 5.2, aunque a las 15:36 UTC del 21 solo había publicado la 7.4. Aun así, lo recomendable es migrar a PHP 8.3 o superior, ya que 8.2 deja de tener soporte el 31 de diciembre de 2026.

¿Tengo que desconectar mi web?

Solo si no puedes actualizar PHP ni confirmar con tu proveedor que ya lo ha hecho. CERT-EU, INCIBE-CERT, el NCSC británico y la NSA recomiendan dejar sin conexión los sistemas expuestos que no puedan corregirse de inmediato, hasta aplicar la versión corregida.

¿Basta con activar el WAF de Cloudflare?

Ayuda como medida temporal: Cloudflare aplica reglas automáticas en todos sus planes con WAF, incluido el gratuito. Pero solo protege el tráfico que pasa por Cloudflare y no sustituye la actualización de PHP, que es la única solución completa.

Hablemos

¿Te ayudamos a aplicarlo en tu empresa?

Déjanos tus datos y te llamamos para entender cómo trabajas. Sin compromiso y sin formularios eternos.

Sobre ECINSA. Hacemos software de gestión desde 1982 y somos partner de SAP Business One desde 2003, una de las seis primeras empresas elegidas por SAP para llevarlo a España. Conócenos.

Soluciones relacionadas

Sigue leyendo

Solicitar una demo