CIBERSEGURIDAD

PHP lanza parches de emergencia para corregir fallos críticos de PHP2Shell


Dirección copiada

Especialistas advierten vulnerabilidades RCE en millones de servidores web y sugieren la actualización inmediata a versiones seguras.

Publicado el 22 oct 2026



Mano sosteniendo un smartphone con el logotipo de PHP en pantalla para aplicar parches PHP2Shell vulnerabilidad.
Crédito: Archivo ShutterStock


Puntos clave

  • Dos RCE sin autenticación, agrupadas como PHP2Shell (CVE-2026-109618, CVE-2026-109619), afectan a servidores web PHP; riesgo mayor en mod_php.
  • Instalar parches: actualizar a PHP 8.5.12, 8.4.27, 8.3.36 o 8.2.35; migrar de PHP 7 o anterior; existen backports para 7.4, 8.0 y 8.1.
  • Los parches oficiales son la única defensa permanente; mitigaciones temporales: fijar memory_limit, limitar post_max_size, desactivar session.upload_progress.enabled y fatal_error_backtraces. Cloudflare y NCSC urgieron actualizar.
Resumen generado por IA

El equipo de seguridad de PHP publicó el pasado 21 de octubre parches de emergencia para dos vulnerabilidades críticas de ejecución remota de código —identificadas como CVE-2026-109618 y CVE-2026-109619 (RCE, por sus siglas en inglés)—, las cuales se han agrupado bajo la denominación “PHP2Shell”.

Estas dos vulnerabilidades de RCE, que pueden ser explotadas sin necesidad de autenticación, fueron descubiertas por investigadores de seguridad de Calif, OpenAI y Wiz. Afectan a todas las instalaciones de PHP que procesan solicitudes web, incluyendo PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP y LiteSpeed.

“Consideramos que el riesgo es mayor en el caso de mod_php; existe un exploit demostrado en el que una petición no autenticada puede desencadenar el ataque antes de que se ejecute cualquier código de la aplicación”, señaló el equipo de seguridad de PHP en una publicación de blog.

Origen del fallo RCE y versiones de PHP afectadas

Ambas vulnerabilidades tienen su origen en un mismo problema subyacente: PHP puede dejar su memoria en un estado corrupto cuando una solicitud finaliza de forma anómala; esta situación puede aprovecharse para lograr la ejecución remota de código.

La vulnerabilidad CVE-2026-109618 permite obtener ejecución remota de código con los privilegios de la cuenta del proceso de trabajo web (worker) mediante una cadena de debilidades que provocan una corrupción de memoria por agotamiento de recursos (out-of-memory).

Por su parte, la vulnerabilidad CVE-2026-109619 —relacionada con un estado global residual— permite, sin necesidad de autenticación, realizar ataques de tipo uso de memoria tras su liberación (use-after-free), la divulgación de información en memoria y la ejecución remota de código con los privilegios del proceso web.

Parches oficiales y advertencias de explotación activa

Los administradores deben instalar las versiones PHP 8.5.12, 8.4.27, 8.3.36 o 8.2.35 lo antes posible en los servidores que ejecuten PHP 8.x. En el caso de sistemas que utilicen PHP 7 o versiones anteriores, es necesario migrar a una versión que ya incluya las correcciones.

“Las versiones PHP 8.1 y anteriores ya no reciben actualizaciones por parte del proyecto PHP. Algunas distribuciones y proveedores de versiones con soporte a largo plazo (LTS) ofrecen parches adaptados para versiones anteriores (backports); por ello, le recomendamos consultar con su proveedor o actualizar a una versión que cuente con soporte oficial”, añadieron los desarrolladores de PHP.

“Dada la gravedad de estas vulnerabilidades, el equipo de seguridad de PHP ha proporcionado parches mínimos de retrocompatibilidad (backports) para el código fuente de PHP 7.4, PHP 8.0 y PHP 8.1, con el fin de asistir a quienes compilan el software desde el código fuente o no tienen acceso a un proveedor de versiones LTS”.

Esto se produce tras una advertencia emitida el martes por los desarrolladores de PHP, quienes instan a los administradores a prepararse para instalar estas actualizaciones de seguridad tan pronto como sean publicadas.

“Recomendamos a todos los usuarios de PHP que se preparen desde ahora para realizar la actualización en cuanto esta esté disponible”, señalaron. “Nos reservamos el derecho de realizar el lanzamiento antes de lo previsto si los detalles de alguna de las vulnerabilidades se hacen públicos, o si aparecen pruebas de que están siendo explotadas activamente”.

La desarrolladora principal de PHP, Gina Peter Banyard, advirtió que ninguna medida de mitigación contra “PHP2Shell” podrá bloquear por completo los posibles ataques, y que la aplicación de los parches de seguridad oficiales constituye la única defensa permanente.

Antes de la publicación de los parches, el CTO de Cloudflare, Dane Knecht, confirmó que la empresa —que ya había implementado un conjunto de reglas WAF diseñadas para bloquear los métodos conocidos de explotación de PHP2Shell— estaba observando ataques iniciales dirigidos contra ambas vulnerabilidades. No obstante, Knecht subrayó que estas protecciones eran solo temporales e instó a todos los administradores a instalar las actualizaciones de seguridad de PHP tan pronto como estuvieran disponibles.

El Centro Nacional de Ciberseguridad (NCSC) del Reino Unido también advirtió en un comunicado a las organizaciones británicas que actualicen de inmediato los sistemas que utilizan PHP, o bien que los desconecten de la red hasta que puedan ser parcheados.

Medidas de mitigación temporales

El equipo de seguridad de PHP ha compartido, no obstante, una serie de medidas de mitigación que pueden reducir la exposición a ciertas vías de ataque para aquellos que no puedan parchear sus servidores de inmediato.

Cabe señalar que las siguientes medidas no ofrecen una protección completa frente a la explotación —se puede encontrar información detallada en la publicación del blog de PHP—:

CVE-2026-109618: Establecer memory_limit=-1, preferiblemente de una forma que las aplicaciones no puedan anular (por ejemplo, mediante php_admin_value en el pool de FPM o en la configuración de Apache).

Configurar un valor bajo para post_max_size: 8M para aplicaciones que no requieran la carga de archivos, o 32M si dicha carga es necesaria.

Utilizar un contenedor o un límite de cgroup como medida de contención, preferiblemente con una política que finalice únicamente el proceso (worker) afectado.

CVE-2026-109619: Establecer session.upload_progress.enabled=0 y reiniciar todos los procesos (workers). En PHP 8.5, establecer fatal_error_backtraces=0 y reiniciar todos los procesos (workers).

Esto bloquea únicamente la ruta confirmada que provoca un error fatal. Elimina configuraciones no válidas u obsoletas, aplicadas a nivel de solicitud, que generan mensajes de diagnóstico antes de la inicialización.

Ocultar dichos mensajes mediante error_reporting, display_errors o el operador @ no resulta eficaz. Corrige errores fatales y tiempos de espera de ejecución (timeouts) que pueden ser provocados por un atacante; esto incluye fallos en funciones de devolución de llamada (callbacks), procesos de carga o importación de archivos, y tareas de limpieza.

Impacto global y servidores PHP expuestos

PHP (Hypertext Preprocessor) es un lenguaje de programación web de código abierto que se ejecuta en el servidor y sustenta entre el 75 % y el 80 % de todos los sitios web, incluidos aquellos que utilizan sistemas de gestión de contenidos (CMS) como WordPress, Joomla y Drupal.

Según estimaciones de VirusTotal, más de 5,1 millones de servidores PHP están expuestos en línea; de ellos, aproximadamente 3,8 millones tienen al menos un puerto abierto.


Canales

Artículos relacionados