PHP2Shell: el fallo crítico de PHP

Fallo crítico de PHP: Soluciones para actualizarlo eficazmente

¡La seguridad en la web es más importante que nunca! El 21 de octubre de 2026, se revelaron dos vulnerabilidades críticas en PHP, un lenguaje fundamental para el funcionamiento de millones de sitios y aplicaciones en línea. Estos fallos, conocidos como PHP2Shell, permiten a los atacantes ejecutar código remotamente en servidores vulnerables, lo que representa un riesgo grave para la privacidad y la integridad de los datos. Si manejas un sitio en WordPress, Joomla, Drupal o cualquier plataforma que use PHP, es vital que estés al tanto de estas vulnerabilidades y cómo protegerte. En este artículo, te explicaremos los detalles de lo sucedido, cómo verificar si tu sitio está en peligro y los pasos para actualizar PHP adecuadamente.

Detalles de las vulnerabilidades en PHP

El equipo de PHP lanzó actualizaciones urgentes para afrontar dos problemas críticos:

  • CVE-2026-109618: Este error se relaciona con el manejo de la memoria cuando PHP se queda sin recursos durante una solicitud.
  • CVE-2026-109619: Este fallo afecta el manejo del estado interno de PHP entre diferentes solicitudes procesadas por el mismo trabajador.
  • Ambas vulnerabilidades tienen una puntuación de 9.2 en la escala CVSS 4.0, clasificándolas como críticas. La mayor preocupación es la posibilidad de ejecución remota de código sin autenticación. Es decir, un atacante podría enviar una solicitud diseñada específicamente para ejecutar instrucciones en un servidor vulnerado sin necesidad de una contraseña.

    Impacto de las vulnerabilidades PHP2Shell

    PHP es el motor detrás de una gran cantidad de sitios web. Cuando accedes a una página hecha con WordPress, por ejemplo, PHP está generando el contenido que ves. Por lo tanto, el problema de PHP2Shell no reside en WordPress en sí, sino en el propio motor de PHP que ejecuta la aplicación.

    Es crucial entender que actualizar WordPress, los plugins o el tema no soluciona el problema. Es necesario que el servidor esté ejecutando una versión de PHP que contenga las correcciones necesarias.

    Posibles acciones de un atacante

    Una vulnerabilidad de ejecución remota de código puede permitir que un atacante realice varias acciones maliciosas, que incluyen:

  • Ejecutar código dañino.
  • Modificar archivos del sitio web.
  • Instalar puertas traseras.
  • Acceder a datos sensibles.
  • Robar credenciales o configuraciones.
  • Utilizar el servidor para atacar a otros sistemas.
  • Interrumpir el funcionamiento del sitio.
  • El impacto específico dependerá de la configuración del servidor y de los permisos que tenga el proceso PHP.

    Actividad de ataques detectada

    Ya se han reportado intentos de explotación de estas vulnerabilidades. Cloudflare, por ejemplo, ha indicado que detectó tráfico malicioso dirigido hacia PHP2Shell y ha implementado reglas de protección en su firewall. Sin embargo, es importante recordar que un firewall no sustituye la necesidad de actualizar PHP, sino que actúa como una capa adicional de seguridad.

    El 22 de octubre, varios medios de comunicación internacionales informaron sobre millones de intentos de explotación mientras empresas y gobiernos se apresuraban a aplicar parches.

    Versiones de PHP afectadas

    El equipo de PHP ha publicado versiones corregidas para las siguientes ramas:

  • PHP 8.5: 8.5.12 o superior
  • PHP 8.4: 8.4.27 o superior
  • PHP 8.3: 8.3.36 o superior
  • PHP 8.2: 8.2.35 o superior
  • Es esencial mencionar que PHP 8.1 y versiones anteriores ya no reciben soporte oficial. Si sigues utilizando PHP 8.2, deberías planificar una migración a una versión más reciente, ya que esta rama dejará de recibir soporte el 31 de diciembre de 2026.

    Recomendaciones para WordPress

    En la actualidad, WordPress recomienda utilizar PHP 8.3 o versiones superiores. No obstante, no debes realizar un cambio inmediato sin verificar la compatibilidad. Antes de actualizar, asegúrate de que:

  • WordPress esté actualizado.
  • Todos los plugins estén actualizados.
  • Tu tema esté en la última versión.
  • No utilices plugins abandonados.
  • Tengas una copia de seguridad reciente.
  • Si tu sitio tiene software antiguo o código personalizado, lo ideal es hacer pruebas en un entorno de staging antes de aplicar cualquier cambio.

    Verificar la versión de PHP en WordPress

    Puedes comprobar la versión de PHP que utiliza tu sitio de WordPress sin necesidad de instalar plugins adicionales. Solo sigue estos pasos:

    1. Accede a tu panel de WordPress.
    2. Dirígete a Herramientas → Salud del sitio.
    3. Selecciona la pestaña Información.
    4. Abre la sección Servidor.
    5. Busca Versión de PHP.

    Si la versión es inferior a las mencionadas anteriormente, es urgente que revises si tu proveedor ha instalado el parche de seguridad.

    Verificación de versiones en servidores Linux

    En servidores Linux, algunos proveedores pueden aplicar backports, lo que implica que corrigen la vulnerabilidad en su propio paquete sin cambiar necesariamente el número de versión. Por lo tanto, si gestionas un servidor, es crucial instalar las actualizaciones de seguridad oficiales y revisar las notificaciones de tu proveedor.

    Actualización de PHP en hosting administrado

    Si tienes un hosting compartido o administrado, es probable que tu proveedor gestione PHP por ti. Para actualizar, sigue estos pasos:

    1. Accede al panel de tu hosting.
    2. Verifica la versión de PHP asignada a tu dominio.
    3. Busca información sobre PHP2Shell o los CVE-2026-109618 y CVE-2026-109619.
    4. Si no encuentras información clara, contacta al soporte.

    Puedes preguntar directamente: “¿La versión de PHP que utiliza mi sitio ya está protegida contra CVE-2026-109618 y CVE-2026-109619?”

    Proceso de actualización con cPanel

    Si tu hosting utiliza cPanel, puedes cambiar la versión de PHP a través de MultiPHP Manager:

    1. Entra a cPanel.
    2. Dirígete a Software → MultiPHP Manager.
    3. Selecciona el dominio que deseas modificar.
    4. Escoge una versión compatible y actualizada de PHP.
    5. Haz clic en Apply.

    Recuerda que, si no estás seguro de la actualización, consulta con tu proveedor.

    Actualizar PHP en Plesk

    Si utilizas Plesk, el proceso es similar:

    1. Accede a Plesk.
    2. Ve a Sitios web y dominios.
    3. Selecciona el dominio que quieres actualizar.
    4. Abre PHP o Configuración de PHP.
    5. Elige una versión actualizada y guarda los cambios.

    Si la versión deseada no aparece, contacta a tu proveedor para obtener asistencia.

    Actualizar PHP en Ubuntu o Debian

    Si administras tu propio VPS o servidor en Ubuntu o Debian, puedes actualizar con los siguientes comandos:

    bash
    sudo apt update
    sudo apt upgrade

    Luego, es posible que necesites reiniciar PHP-FPM o el servidor web, dependiendo de tu configuración.

    Actualizar PHP en AlmaLinux o Rocky Linux

    En distribuciones basadas en RHEL, la actualización se realiza mediante DNF:

    bash
    sudo dnf update

    Después, verifica si necesitas reiniciar PHP-FPM o el servidor web.

    Consideraciones para contenedores Docker

    Si PHP se ejecuta dentro de un contenedor, simplemente reiniciar el contenedor antiguo no instalará la versión nueva. Debes:

  • Actualizar la imagen base de PHP.
  • Reconstruir la imagen de tu aplicación.
  • Desplegar los contenedores nuevamente.
  • Comprobar la versión de PHP en el nuevo contenedor.
  • Asegúrate de que la etiqueta utilizada apunte a una imagen corregida.

    Importancia de hacer copias de seguridad

    Antes de realizar una actualización importante, como cambiar entre ramas mayores de PHP, es fundamental hacer copias de seguridad de:

  • La base de datos.
  • Los archivos del sitio.
  • WordPress, plugins y temas.
  • Además, verifica que todos los plugins sean compatibles con la nueva versión.

    Verificaciones tras la actualización de PHP

    No te limites a cambiar la versión y cerrar el panel. Asegúrate de comprobar:

  • La página de inicio.
  • El panel de administración.
  • Los formularios de contacto.
  • El proceso de inicio de sesión y registro.
  • La tienda y el proceso de pago si usas WooCommerce.
  • El buscador interno.
  • El envío de correos.
  • Tareas programadas.
  • Logs de errores.
  • Regresa a Herramientas → Salud del sitio para confirmar la versión después de la actualización.

    El papel de un firewall como Cloudflare

    Es esencial entender que un firewall no resuelve completamente el problema. Aunque puede bloquear ciertos patrones de ataque y añadir una capa de defensa, no sustituye la necesidad de actualizar PHP. Cloudflare ha implementado reglas específicas contra PHP2Shell, pero también subraya la importancia de aplicar los parches de seguridad.

    Acciones si no puedes actualizar de inmediato

    Si no puedes aplicar la actualización de inmediato, considera las recomendaciones de las autoridades de ciberseguridad. Ellos sugieren restringir temporalmente el acceso público o desconectar el servidor hasta que se pueda aplicar la corrección. En un hosting compartido, es crucial contactar a tu proveedor de inmediato.

    ¿Es suficiente con actualizar WordPress?

    La respuesta es no. Aunque actualizar WordPress es vital, no sustituye la necesidad de actualizar el motor PHP. Esto se aplica también a otras plataformas como Drupal o Magento. Si el motor PHP del servidor es vulnerable, actualizar solo el CMS no resuelve el problema.

    Versiones de PHP a evitar en 2026

    Las versiones de PHP 8.1 y anteriores ya no reciben soporte oficial. Aunque algunos proveedores pueden ofrecer correcciones por más tiempo, usar una versión sin soporte aumenta el riesgo de vulnerabilidades. Además, PHP 8.2 dejará de recibir actualizaciones de seguridad a finales de 2026. Para un WordPress moderno, se recomienda PHP 8.3 o superior.

    La lección de las vulnerabilidades PHP2Shell

    Este incidente destaca la importancia de mantener no solo WordPress y sus plugins actualizados, sino también otros componentes críticos como:

  • PHP.
  • El servidor web.
  • La base de datos.
  • El sistema operativo.
  • Librerías y extensiones.
  • La situación de PHP2Shell demuestra que la seguridad de tu sitio depende de un enfoque integral en las actualizaciones. Si tu proveedor de hosting gestiona estas capas, es fundamental conocer su política de actualizaciones de seguridad. Si administras tu propio VPS, establece un proceso regular para aplicar parches.


    Publicado

    en

    por

    Etiquetas: