ProgramaciónSoftware

PHP2Shell: PHP lanza parches urgentes para dos vulnerabilidades críticas de ejecución remota de código

El equipo de PHP acaba de publicar una actualización de seguridad urgente para corregir dos vulnerabilidades críticas que permiten a un atacante ejecutar código de forma remota en un servidor sin necesidad de autenticarse. La comunidad de seguridad ya las bautizó como «PHP2Shell», y la recomendación es unánime: actualizar cuanto antes.

En esta entrada te explicamos qué pasó, a quién afecta, qué versiones corrigen el problema y qué hacer si administras un servidor o un sitio hecho en PHP (incluido WordPress).

¿Qué se ha anunciado?

El 20 de octubre de 2026, el proyecto PHP envió un aviso anticipado sobre una «versión de seguridad crítica». Al día siguiente, el 21 de octubre, liberó las versiones corregidas. Las fallas son dos:

  • CVE-2026-109618 – RCE por corrupción en falta de memoria (OOM). Cuando PHP se queda sin memoria, el proceso puede interrumpirse mientras los datos de la petición están inicializados solo a medias. Luego, en la limpieza de la petición, esos datos inválidos se tratan como válidos, y eso abre la puerta a ejecutar código.
  • CVE-2026-109619 – RCE por estado global «rancio». Parte del estado que pertenece a una petición puede sobrevivir después de que su memoria fue liberada, y ser reutilizado por una petición posterior atendida por el mismo proceso. Es un clásico problema de tipo use-after-free.

Ambas fueron calificadas con 9.2 en CVSS v4.0, es decir, severidad crítica.

¿Por qué es tan grave?

Hay tres factores que hacen que este caso sea especialmente delicado:

  1. No requiere autenticación. Un atacante no necesita usuario ni contraseña; basta con enviar peticiones especialmente preparadas al servidor.
  2. Los detalles se filtraron antes del parche. Según los reportes, existía un exploit público antes de que saliera la corrección, y Cloudflare detectó intentos de ataque la misma mañana del 21 de octubre, horas antes de que el parche estuviera disponible.
  3. Se ejecuta antes que tu aplicación. El propio equipo de PHP indica que hay un exploit demostrado que se dispara antes de que se ejecute el código de la aplicación en despliegues con Apache + mod_php. Es decir, no importa qué tan bien programado esté tu sitio: la falla está en el intérprete.

Versiones afectadas y versiones corregidas

Las versiones que corrigen ambas vulnerabilidades son:

  • PHP 8.5.12
  • PHP 8.4.27
  • PHP 8.3.36
  • PHP 8.2.35

Si usas cualquier versión anterior dentro de esas ramas, estás expuesto. Además, hay dos datos importantes:

  • PHP 8.1 y anteriores ya no reciben actualizaciones del proyecto oficial. Si sigues en una de esas versiones, tu única opción es que tu proveedor (distribución Linux, hosting, etc.) haya hecho un backport del parche, o migrar a una versión soportada.
  • PHP 8.2 llega a su fin de vida el 31 de diciembre de 2026, así que este es un buen momento para planificar la migración a 8.4 o 8.5.

¿Y WordPress?

Como estas fallas están en PHP y no en WordPress, actualizar WordPress, temas o plugins no te protege. WordPress.org ha confirmado que no habrá una actualización de WordPress para este problema: la solución es únicamente actualizar PHP en el servidor.

Si tienes tu sitio en un hosting compartido o administrado, revisa en tu panel (cPanel, Plesk, etc.) qué versión de PHP estás usando y, si no aparece una versión corregida, contacta a tu proveedor para confirmar cuándo aplicarán el parche.

¿Qué deberías hacer ahora?

  1. Verifica tu versión de PHP. Puedes hacerlo con php -v en la terminal o con un archivo phpinfo() temporal (bórralo después).
  2. Actualiza a una versión corregida mediante el gestor de paquetes de tu sistema (apt, dnf, etc.), el panel de tu hosting o descargándola desde php.net.
  3. Reinicia los servicios que usan PHP (Apache, PHP-FPM) para que la nueva versión entre en uso.
  4. Prioriza los servidores con Apache + mod_php, que son los de mayor riesgo.
  5. Revisa los registros en busca de actividad extraña desde el 20–21 de octubre, ya que hubo ataques antes de la publicación del parche.

Mitigaciones temporales (si no puedes actualizar de inmediato)

El equipo de PHP propone algunas medidas parciales mientras aplicas la actualización. No reemplazan el parche, solo reducen el riesgo:

; Mitigaciones parciales. Actualiza a una versión corregida.
memory_limit = -1                    ; aplicado con php_admin_value
post_max_size = 8M                   ; un valor más bajo
session.upload_progress.enabled = 0
fatal_error_backtraces = 0           ; solo en PHP 8.5

Ten en cuenta que estos cambios pueden afectar el funcionamiento de tu aplicación (por ejemplo, la subida de archivos grandes), así que pruébalos con cuidado.

Conclusión

PHP2Shell es una de esas vulnerabilidades que no admiten esperar al próximo mantenimiento programado: es crítica, no requiere autenticación, ya hay ataques en curso y afecta al intérprete que da vida a una enorme parte de la web. Si administras servidores con PHP, actualiza hoy mismo. Y si tu sitio está en un hosting, asegúrate de que tu proveedor ya lo hizo.

Seguiremos atentos a nuevas actualizaciones sobre este tema aquí en Tecnober.

Fuentes: php.net, anuncio oficial de PHP, Qualys, CERT-EU, Codeable.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *