Ir al contenido
Cyber Guard Core Ciberseguridad y análisis forense digital

Amenazas y ataques 6 min de lectura

PHP2Shell explicado: las fallas críticas de PHP, a quién afectan y cómo proteger su sitio web

PHP2Shell: lo que todo propietario de un sitio web debe hacer ya

El 21 de octubre de 2026, el proyecto PHP publicó actualizaciones de seguridad de emergencia para dos fallas críticas, conocidas ya en conjunto como PHP2Shell. Permiten a un atacante tomar el control de un servidor web sin contraseña y, en algunas configuraciones, antes incluso de que el propio código del sitio empiece a ejecutarse. Se observaron intentos de explotación a las pocas horas de la corrección.

PHP hace funcionar aproximadamente entre el 75 % y el 80 % de los sitios web, incluido WordPress, así que afecta a una gran parte de la web. Esto es lo que ocurrió, quién está en riesgo y qué hacer ahora y en el futuro.

Qué es PHP2Shell

PHP2Shell son dos errores distintos en el núcleo del propio PHP, no en un plugin ni en un tema:

  • CVE-2026-109618 se activa cuando PHP se queda sin memoria a mitad de la preparación de una petición. Los datos internos quedan a medio construir y el código de limpieza confía en ellos de todos modos. Puede bastar con un envío de formulario sobredimensionado y especialmente preparado.
  • CVE-2026-109619 es un error de «estado obsoleto». Información de una petición sobrevive a la memoria a la que apunta, y la siguiente petición atendida por el mismo proceso de PHP actúa sobre esos restos. Los investigadores demostraron que se puede alcanzar a través de la función de progreso de subida de PHP, que está activada por defecto y se ejecuta con cualquier envío de formulario antes de que la aplicación lo vea.

Ambas tienen una puntuación de 9,2 sobre 10 (crítica). Cualquiera de ellas puede permitir a un atacante ejecutar su propio código con los permisos del servidor web. A partir de ahí puede leer bases de datos y archivos de configuración, instalar puertas traseras, enviar spam o usar el servidor para atacar a otros.

De dónde viene

Las fallas las descubrieron investigadores de seguridad de Calif, OpenAI y Wiz, que las comunicaron en privado al equipo de seguridad de PHP. La divulgación estaba prevista para el 22 de octubre. El 20 de octubre se filtraron en internet capturas, vídeos y detalles parciales de una herramienta llamada «PHP2Shell», por lo que PHP adelantó su publicación de emergencia al 21 de octubre a las 14:00 UTC.

El comportamiento vulnerable es antiguo. Según el análisis de Abstract Security, el código afectado se remonta a PHP 5.4, publicado en 2012, así que lleva presente más de una década. Es habitual en los errores graves del software muy extendido: un código que funciona bien en el uso normal puede ocultar un caso límite durante años, hasta que alguien lo mira desde el punto de vista de un atacante.

Qué está pasando ahora

  • Explotación activa: la empresa de seguridad watchTowr detectó intentos de explotación contra su red de honeypots el 21 de octubre, el mismo día de la corrección.
  • Escala: VirusTotal calcula que hay más de 5,1 millones de servidores PHP expuestos en internet.
  • Avisos oficiales: el National Cyber Security Centre británico instó a las organizaciones del Reino Unido a actualizar PHP de inmediato o a desconectar los sistemas hasta corregirlos.
  • Protecciones temporales: Cloudflare desplegó reglas en su firewall de aplicaciones web contra los métodos de ataque conocidos e informó de los primeros ataques. Las describió como temporales, no como un sustituto de la actualización.
  • Alcance discutido: un equipo de investigación, Abstract Security, afirma haber reproducido un ataque relacionado en un servidor completamente actualizado abusando de la misma función de progreso de subida. El proyecto PHP no lo ha confirmado, pero es un motivo más para aplicar las medidas de refuerzo siguientes además de la actualización.

A quién afecta

Cualquier instalación de PHP que sirva páginas web está afectada, se ejecute como se ejecute PHP: PHP-FPM, Apache con mod_php, php-cgi, LiteSpeed o FrankenPHP. El equipo de PHP considera Apache con mod_php el caso de mayor riesgo, porque un ataque puede tener éxito antes de que se ejecute ningún código de la aplicación.

Las versiones corregidas son:

Rama de PHPVulnerableCorregido en
8.5anterior a 8.5.128.5.12
8.4anterior a 8.4.278.4.27
8.3anterior a 8.3.368.3.36
8.2anterior a 8.2.358.2.35
8.1, 8.0, 7.4todas las versionessin versión estándar; solo parches retroportados por los distribuidores o en el código fuente
7.3 y anteriorestodas las versionessin corrección: actualice a una versión con soporte

En la práctica, esto significa que:

  • WordPress, Joomla, Drupal, Magento y la mayoría de los sitios de pequeñas empresas funcionan con PHP. Su sitio solo es tan seguro como la versión de PHP que lo sostiene.
  • Los clientes de alojamiento compartido dependen de su proveedor para actualizar PHP. Muchos lo hacen automáticamente, pero algunos aún ofrecen versiones antiguas de PHP que ya no reciben correcciones.
  • Los servidores antiguos y los sitios olvidados son el mayor riesgo: un sitio de pruebas, una página de una campaña antigua o una copia de preproducción con PHP 7 no se corregirá con ninguna actualización.
  • Los appliances y paneles de control a veces incluyen su propia copia de PHP, que sus actualizaciones habituales no tocan.

Qué hacer ahora mismo

  1. Localice todos los lugares donde se ejecuta PHP. Sitios web, copias de preproducción, paneles de control, herramientas internas y appliances. Empiece por todo lo accesible desde internet.
  2. Actualice a una versión corregida de la tabla anterior, o instale los paquetes corregidos de su distribución de Linux, que en muchos casos se publicaron antes del anuncio público.
  3. Reinicie todos los procesos de PHP después de actualizar. Los procesos de larga duración mantienen el código vulnerable en memoria hasta que se reinician.
  4. Si usa alojamiento compartido, compruebe su versión de PHP en el panel de control. Pase a una versión con soporte (8.2 o posterior) y pida a su proveedor que confirme por escrito que se han aplicado las correcciones de PHP2Shell.
  5. Si no puede actualizar hoy, restrinja el acceso al servidor, desactive session.upload_progress.enabled en la configuración de PHP y reinicie, y mantenga el tamaño máximo de subida tan pequeño como permita su sitio. El equipo de PHP deja claro que ningún ajuste le protege por completo, así que considérelos medidas provisionales.
  6. Busque indicios de compromiso desde el 20 de octubre, no solo desde el día en que aplicó la corrección. Las señales de alerta incluyen errores de PHP que mencionan «tried to allocate» con «in Unknown on line 0», ráfagas de envíos de formularios muy grandes, archivos PHP desconocidos en las carpetas del sitio, nuevos usuarios administradores, tareas cron o claves SSH modificadas y conexiones salientes inesperadas desde el servidor web.

Cómo protegerse de la próxima

PHP2Shell no será la última falla crítica en el software que mueve la web. Estos hábitos reducen los daños la próxima vez:

  • Use versiones con soporte. El software al final de su vida útil no recibe ninguna corrección. Programe las actualizaciones antes de que termine el soporte.
  • Elija un alojamiento que aplique parches con rapidez, y pregunte cuánto tardan normalmente las actualizaciones críticas de PHP en llegar a su cuenta.
  • Ponga un firewall de aplicaciones web delante de su sitio. Servicios como Cloudflare y otras CDN pueden desplegar parches virtuales en horas, lo que le da tiempo mientras actualiza.
  • Elimine lo que no use. Los sitios antiguos, los plugins sin uso y las funciones de subida de archivos innecesarias son puertas adicionales.
  • Limite el alcance de los daños. Ejecute cada sitio con su propia cuenta, dé a los usuarios de la base de datos solo los permisos que necesitan y guarde los secretos fuera de la carpeta del sitio.
  • Vigile y haga copias de seguridad. La supervisión de cambios en los archivos, los registros guardados fuera del servidor y las copias de seguridad sin conexión y probadas convierten un desastre en una molestia.
  • Tenga un plan. Decida de antemano quién revisa los avisos de seguridad, quién aplica las actualizaciones de emergencia y a quién llamar si algo ya ha salido mal.

¿Necesita ayuda?

Si no está seguro de qué versión de PHP usan sus sitios, o quiere una comprobación independiente de indicios de compromiso, nuestro equipo puede ayudarle. Podemos evaluar su exposición, verificar que las correcciones están aplicadas e investigar cualquier actividad sospechosa con rigor forense. Contacte con nosotros, o llame a nuestra línea 24/7 al +44 7520 644325.

Fuentes

Publicado el por el equipo de Cyber Guard Core. Este artículo es una orientación general, no un asesoramiento para su situación concreta. Hable con un especialista.

Más artículos

Todos los artículos
Amenazas y ataques31 de agosto de 2026 Ataques de día cero en agosto de 2026: qué ocurrió y cómo proteger a su organización Una falla de Windows explotada por el grupo Lazarus y servidores de impresión secuestrados sin contraseña: los días cero de agosto y las medidas prácticas que limitan los daños del próximo. Leer el artículo Amenazas y ataques26 de febrero de 2026 Denuncias abusivas como arma: cómo sobrevivir a un ataque dirigido contra su infraestructura Si dirige una empresa o gestiona activos digitales, probablemente esté preparado para amenazas clásicas como los correos de phishing. Los ataques de retirada dirigidos son otro tipo de ataque. Leer el artículo Amenazas y ataques22 de agosto de 2025 La psicología del ciberdelito: cómo piensan los hackers El ciberdelito no es solo código. Es control, manipulación y motivación, y entenderlo es el primer paso para defenderse. Leer el artículo

¿Está afrontando un incidente ahora mismo?

Nuestro equipo de respuesta a incidentes está disponible 24/7. Llame, escríbanos por Telegram o reserve una consulta para cualquier asunto menos urgente.

Llamar al +44 7520 644325 Reservar consulta