PHP2Shell es el nombre de dos fallos críticos del núcleo de PHP, CVE-2026-109618 y CVE-2026-109619, que pueden permitir la ejecución remota de código sin autenticación. PHP publicó correcciones para ambas vulnerabilidades el 21 de octubre de 2026.

PHP considera potencialmente expuestas las instalaciones que atienden peticiones web, incluidas las que usan PHP-FPM, Apache mod_php, php-cgi, FrankenPHP y LiteSpeed. El caso de mayor riesgo demostrado fue Apache mod_php.

Qué falla en PHP2Shell

Los dos fallos afectan a la gestión de memoria y al estado de las peticiones, pero de formas distintas:

  • CVE-2026-109618: un agotamiento de memoria puede dejar datos internos de una petición a medio inicializar. Durante la limpieza, PHP puede tratarlos como si fueran válidos.
  • CVE-2026-109619: una referencia interna puede seguir apuntando a memoria que ya se ha liberado. Una petición posterior atendida por el mismo trabajador de PHP podría reutilizar ese estado obsoleto.

PHP clasifica ambos fallos como vulnerabilidades de ejecución remota de código, es decir, capaces de permitir que un atacante ejecute código en el servidor sin autenticarse.

Qué observó AWS en sus sensores

AWS informó de un intento contra MadPot, su sistema señuelo para observar actividad maliciosa, fechado el 17 de octubre de 2026. Para el 21 de octubre, situó los primeros exploits de prueba de concepto identificados alrededor de las 02:00 UTC y otros intentos contra MadPot entre las 02:00 y las 08:00 UTC. El embargo de divulgación terminó a las 14:00 UTC, cuando se publicaron las correcciones de PHP.

AWS dijo que no estaba claro si los intentos observados habrían tenido éxito en sistemas reales. También advirtió que las direcciones IP asociadas a la actividad incluían infraestructura compartida de anonimización y no eran indicadores exclusivos de PHP2Shell.

Qué mide la cifra de Check Point

En un informe publicado el 22 de octubre, Check Point estimó que el 12 % de las organizaciones españolas afrontó intentos de explotación desde la divulgación. La empresa define como «afectadas» a las organizaciones que recibieron esos intentos; la cifra no mide intrusiones confirmadas.

En su desglose regional, Check Point situó a Europa en el 14 %; a Norteamérica, Latinoamérica y Asia-Pacífico en el 6 % cada una, y a África en el 4 %. La estimación mundial fue del 10 %.

Versiones de PHP que corrigen los fallos

PHP publicó las correcciones el 21 de octubre de 2026. Estas son las primeras versiones corregidas de cada rama:

Rama de PHPPrimera versión corregida
PHP 8.5PHP 8.5.12
PHP 8.4PHP 8.4.27
PHP 8.3PHP 8.3.36
PHP 8.2PHP 8.2.35

PHP 8.1 y las ramas anteriores ya no reciben versiones del proyecto. Algunas distribuciones y proveedores de soporte a largo plazo pueden aplicar correcciones retroactivas, llamadas backports, a ramas anteriores. PHP recomienda instalar una versión corregida o un paquete de proveedor con el backport confirmado. El aviso de seguridad de PHP recoge las versiones afectadas y las indicaciones de mitigación.

Por qué una VPN o un ajuste de configuración no bastan

Restringir un servicio a una VPN reduce su exposición pública, pero no corrige el runtime de PHP. El proyecto considera que actualizar es la única remediación completa para los dos fallos PHP2Shell.

Desactivar session.upload_progress.enabled bloquea rutas confirmadas de CVE-2026-109619, pero no todas sus variantes. PHP también señala que memory_limit=-1 y los límites al tamaño de las solicitudes solo abordan rutas de ataque concretas. Son medidas incompletas, no sustitutos de la actualización.

El archivo de PHP describe además un vector distinto, CVE-2026-115560, que califica de improbable. Requiere que session.serialize_handler empiece en php_binary o php_serialize, cambie a php durante la ejecución antes de session_start() y mantenga activa la carga de progreso de sesiones.

Aplicar el parche no elimina código malicioso ni daños que ya estuvieran en el servidor. Check Point recomienda revisar si hay archivos PHP desconocidos, solicitudes inusuales, ejecuciones inesperadas de comandos o conexiones salientes desconocidas.