Saltar al contenido
Tecnologías emergentes en Latinoamérica y el mundoJueves 12 nov 2026

Windows y macOS no traen parche para PHP2Shell y hay que actualizar PHP aparte

Registro de un script de Qualys que actualiza PHP 8.2.33 a 8.2.35 en un servidor Windows con IIS y verifica otra instalación en 8.4.27
Imagen: Qualys

Microsoft y Apple no distribuyen PHP, así que el arreglo de las fallas ya explotadas es reemplazar los archivos o usar Homebrew. Quien no puede actualizar tiene ajustes que bajan el riesgo.

Las actualizaciones de Windows y macOS no corrigen PHP2ShellNombre con que se conoce a un conjunto de fallas críticas del lenguaje de programación PHP, muy usado en sitios web, que los atacantes explotan contra servidores expuestos a internet., las dos fallas críticas de PHP que ya se explotan. Microsoft y Apple no distribuyen PHP, así que en esos sistemas el arreglo es reemplazar PHP por una versión corregida, equipo por equipo, según la guía que publicó Qualys el 4 de noviembre. En Linux, en cambio, el parche llega con los paquetes de cada distribución.

En Windows, PHP no tiene instalador ni actualizador oficial y se baja como archivo comprimido desde php.net. En macOS, Apple lo quitó del sistema desde Monterey, de 2021, y lo más común es instalarlo con Homebrew, un gestor de paquetes de código abiertoSoftware cuyo código fuente se publica con una licencia que permite a cualquiera leerlo, usarlo, modificarlo y redistribuirlo, según las condiciones de esa licencia..

Qué es la falla

PHP2Shell son dos errores en el manejo de memoria de PHP que permiten a un atacante sin usuario ni contraseña ejecutar código en el servidor. CVE-2026-109618 aparece cuando una petición agota la memoria permitida y deja datos a medio armar. CVE-2026-109619 deja restos de una petición anterior en memoria ya liberada. Las dos tienen 9,2 puntos sobre 10, y PHP ve el riesgo mayor en Apache con mod_php, el módulo que carga PHP dentro del servidor web, que es como funciona por defecto un paquete como XAMPP.

A quién afecta

A todo PHP que atienda peticiones web con una versión anterior a 8.5.12, 8.4.27, 8.3.36 u 8.2.35, sea detrás de IIS, el servidor web de Microsoft, de Apache o de PHP-FPM. Las ramas 8.1 y anteriores no tienen versión corregida oficial.

Estado de explotación

Explotada. La agencia de ciberseguridad de Estados Unidos (CISA) sumó las dos fallas a su catálogo de vulnerabilidades explotadas el 26 de octubre, con plazo hasta el 29 para sus agencias federales civiles. Para entonces ya había ataques confirmados, como LatamByte contó en el caso de los firewalls de Palo Alto.

Qué hacer en Windows

Primero, encontrar todas las copias de PHP del equipo, no solo la que responde en la consola. El comando where php muestra las que están en el PATH, y Qualys sugiere revisar también carpetas como C:\php, XAMPP, WampServer, Laragon y Archivos de programa, los manejadores de IIS en applicationHost.config y los servicios de Windows que arrancan PHP. El comando php -v da la versión de cada una.

Después hay que bajar de la página de descargas para Windows de php.net la versión corregida de la misma rama y la misma variante. Hay compilaciones Thread Safe, para Apache con el módulo, y Non Thread Safe, para IIS, de 64 o 32 bits y de distintos compiladores de Visual Studio. El 26 de octubre PHP renovó esos paquetes como 8.5.12-1, 8.4.27-1, 8.3.36-1 y 8.2.35-1, con un arreglo para la biblioteca de compresión Brotli y el mismo código de PHP, según su anuncio. Luego, según Qualys, se comprueba el hash SHA-256 del archivo, se detiene IIS o Apache, se respalda la carpeta de PHP y se copian los archivos nuevos conservando php.ini y las extensiones propias.

WampServer publicó las versiones 8.2.35.1, 8.3.36.1, 8.4.27.1 y 8.5.12.1, y se cambia la versión en wampmanager.conf con el programa cerrado. XAMPP ya ofrece instaladores con PHP 8.5.12, 8.4.27 y 8.3.36, pero ninguno con la rama 8.2.

Qué hacer en macOS

Con Homebrew, alcanza con brew update y después brew upgrade php, o la fórmula de la rama en uso, como brew upgrade php@8.3. Las fórmulas de Homebrew ya están en 8.5.12, 8.4.27, 8.3.36 y 8.2.35. Si una fórmula quedó fijada con brew pin, hay que liberarla antes con brew unpin. php@8.1 está discontinuada y sigue en 8.1.34, sin el arreglo. Si PHP-FPM corre como servicio, se reinicia con brew services restart y el nombre de la fórmula. PHP instalado con MacPorts o MAMP sigue el camino de cada proveedor.

En los dos sistemas, instalar no alcanza. Hasta reiniciar IIS, Apache o PHP-FPM, el código anterior sigue en memoria y sigue siendo atacable, advirtió Ben Mudie, de la empresa Tenable, en IT Brief.

Si no se puede actualizar

Quien no puede actualizar todavía tiene ajustes que reducen el riesgo, aunque no lo eliminan, según el aviso de PHP. Contra CVE-2026-109619, poner session.upload_progress.enabled=0 en php.ini o en la configuración del servidor, nunca con ini_set() ni con .user.ini, y en PHP 8.5 también fatal_error_backtraces=0. Contra CVE-2026-109618, fijar memory_limit=-1 de modo que las aplicaciones no lo puedan cambiar, y bajar post_max_size a 8 megas si no se suben archivos o a 32 si se suben, con upload_max_filesize por debajo. Todo exige reiniciar cada proceso. Apagar el progreso de subidas también cubre CVE-2026-115560, la tercera vía de ataque.

Un firewall de aplicaciones web suma otra capa, con reglas ya publicadas por Akamai, Cloudflare, F5 y otros, según Qualys, aunque hay ataques armados para esquivarlas.

Para las ramas 8.1 y anteriores no hay versión oficial ni paquete corregido para Windows. PHP publicó arreglos mínimos en código fuente para 7.4, 8.0 y 8.1, que solo sirven a quien compila PHP por su cuenta. La salida es migrar a una rama con soporte, mejor 8.3 o posterior porque la 8.2 deja de recibir arreglos el 31 de diciembre, o sacar el equipo de internet hasta hacerlo.

Conviene además revisar los registros desde el 17 de octubre, cuando Amazon vio el primer intento, y vigilar si el servidor web abre una consola de comandos o deja una web shellPrograma malicioso instalado en un servidor web que permite a un atacante enviarle órdenes a distancia mediante solicitudes web y usarlo para colocar otros archivos..

Lo que se dijo en los foros criminales

Según un informe de Tenable del 22 de octubre, en las 48 horas siguientes al anuncio BreachForums avisó a sus miembros que "nos tomamos en serio nuestra seguridad", DarkForums se desconectó "hasta que PHP esté parcheado en todo el mundo" y Dread, el foro de la red Tor, publicó un aviso de mantenimiento con las dos fallas. Esos foros corren sobre PHP y guardan identidades y credenciales robadas.

Para atacar, en cambio, dominó el escepticismo. En ocho foros que siguió Flare, los usuarios más técnicos decían que las pruebas de conceptoCódigo o demostración que muestra que una vulnerabilidad puede aprovecharse en la práctica, sin ser necesariamente una herramienta de ataque completa. públicas tumban PHP pero rara vez dan el control, porque necesitan datos de la compilación exacta del servidor. "Prueba de concepto, sí. Ejecución remota, no", resumió uno. Bitsight registró el 29 de octubre una oferta de 10.000 dólares por un ataque que funcione y otra de 25 a 5.000 por sitio, sin moneda aclarada, por accesos obtenidos con PHP2Shell, y ningún reclamo verificado de toma masiva.

La excepción son los equipos que traen PHP sin ASLR, la protección que cambia de lugar el código en la memoria. Flare citó al investigador Kevin Beaumont, que señaló la consola HP System Management Homepage de los servidores HPE ProLiant y las máquinas virtuales de firewall de Palo Alto, y por eso esos equipos van primero en la fila.

Ficha técnica

CVEIdentificador único que recibe cada vulnerabilidad conocida públicamente, con la forma CVE-año-número, para que fabricantes, investigadores y defensores hablen de la misma falla.: CVE-2026-109618 (corrupción de memoria al agotarse la memoria) y CVE-2026-109619 (estado que sobrevive a la petición).

CVSS: 9,2 (CVSS 4.0), vector CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N.

CWE: CWE-416, CWE-755, CWE-824, CWE-1325 y CWE-1419, según CISA.

Versiones corregidas: 8.5.12, 8.4.27, 8.3.36 y 8.2.35 (en Windows, paquetes -1 del 26 de octubre).

Sin versión oficial: 8.1 y anteriores; arreglos mínimos en código fuente para 7.4, 8.0 y 8.1.

Avisos: PHP GHSA-w8hw-w9fx-j79w y GHSA-6wmf-4rv5-p3rp.

Alta en el catálogo KEVcatálogo de vulnerabilidades explotadas conocidas (KEV) Lista pública de la Agencia de Ciberseguridad y Seguridad de Infraestructura de Estados Unidos (CISA) que reúne vulnerabilidades con evidencia de explotación activa, para que se prioricen al corregir. de CISA: 26 de octubre de 2026, con plazo hasta el 29 de octubre para las agencias federales civiles de Estados Unidos.

Contexto (6 términos)
PHP2Shell
Nombre con que se conoce a un conjunto de fallas críticas del lenguaje de programación PHP, muy usado en sitios web, que los atacantes explotan contra servidores expuestos a internet.
código abierto
Software cuyo código fuente se publica con una licencia que permite a cualquiera leerlo, usarlo, modificarlo y redistribuirlo, según las condiciones de esa licencia.
web shell
Programa malicioso instalado en un servidor web que permite a un atacante enviarle órdenes a distancia mediante solicitudes web y usarlo para colocar otros archivos.
pruebas de concepto
Código o demostración que muestra que una vulnerabilidad puede aprovecharse en la práctica, sin ser necesariamente una herramienta de ataque completa.
CVE
Identificador único que recibe cada vulnerabilidad conocida públicamente, con la forma CVE-año-número, para que fabricantes, investigadores y defensores hablen de la misma falla.
catálogo de vulnerabilidades explotadas conocidas (KEV)
Lista pública de la Agencia de Ciberseguridad y Seguridad de Infraestructura de Estados Unidos (CISA) que reúne vulnerabilidades con evidencia de explotación activa, para que se prioricen al corregir.

Glosario de LatamByte

Vulnerabilidades

Notas relacionadas

Notas relacionadas