PHP2Shell: dos fallos críticos de PHP, un embargo que se filtró y lo que realmente se sabe sobre la explotación
PHP envió correcciones de emergencia para dos fallos críticos de ejecución remota de código, CVE-2026-109618 y CVE-2026-109619, llamados PHP2Shell.
PHP envió correcciones de emergencia para dos fallos críticos de ejecución remota de código, CVE-2026-109618 y CVE-2026-109619, llamados PHP2Shell. La publicación se realizó el 21 de octubre de 2026. El episodio explica los dos errores de memoria en palabras sencillas, por qué una pista de una auditoría de 2024 esperó una solución, cómo se filtró el embargo y qué fuentes dicen qué sobre la explotación. También cubre el lanzamiento del parche crítico el mismo día de GitLab y una orden de penalización de Meta de 25 mil millones de dólares en Nuevo México.
Leer la edición escrita (inglés) ↗
Qué cubre este vídeo
- Ambos fallos están calificados con 9.2 en CVSS v4.0 por el equipo de PHP. Las versiones corregidas son PHP 8.2.35, 8.3.36, 8.4.27 y 8.5.12; PHP 7.4, 8.0 y 8.1 solo recibieron parches de código fuente. PHP dice que la actualización es la única mitigación completa.
- El primer fallo se produce cuando PHP deja una solicitud a medio construir cuando se queda sin memoria en el momento equivocado. El segundo proviene de un puntero sobrante a la memoria de una solicitud que una solicitud posterior en el mismo trabajador puede usar. En Apache con mod_php, la primera ruta se ejecuta antes del código de la aplicación.
- Un desarrollador principal de PHP encontró los primeros signos del problema de memoria durante una auditoría de 2024. La Fundación PHP dice que las soluciones en competencia tenían contrapartidas y un equipo de seguridad basado en el consenso tuvo dificultades para elegir, lo que califica de fallo estructural.
- La Fundación dice que los ID de CVE se filtraron el 20 de octubre, Calif publicó erróneamente un video de prueba de concepto, y Chainguard publicó imágenes compiladas con la solución más de seis horas antes del lanzamiento. El CEO de Chainguard dice que la gente ya estaba siendo afectada y que encontró los errores de forma independiente.
- Las fuentes discrepan sobre la explotación. Amazon registró un intento el 17 de octubre y luego dijo que PHP2Shell fue ampliamente explotado. watchTowr informó de la explotación en la naturaleza. CISA no había observado explotación en el momento de la publicación, y el equipo de PHP no encontró ninguna explotación funcional en el lanzamiento. Muchos scripts públicos de prueba de concepto no funcionan.
- Revisa todos los lugares donde se ejecuta PHP, incluidas las copias dentro de otro software, actualiza, reinicia los trabajadores y revisa los registros hasta el 17 de octubre.
Preguntas y respuestas
¿Cuáles son las dos vulnerabilidades de PHP2Shell?
PHP2Shell nombra dos fallos críticos de PHP, CVE-2026-109618 y CVE-2026-109619, ambos calificados con 9.2 por el equipo de PHP. El primero deja una solicitud a medio construir cuando PHP se queda sin memoria en el momento equivocado, y la limpieza entonces confía en ella. El segundo deja un puntero a la memoria de una solicitud que una solicitud posterior en el mismo trabajador puede usar. Ambos pueden conducir a la ejecución de código sin iniciar sesión.
¿Qué versiones de PHP tienen una solución para PHP2Shell, y qué hay de las versiones no compatibles?
El proyecto PHP lanzó soluciones en 8.2.35, 8.3.36, 8.4.27 y 8.5.12 el 21 de octubre. Para 7.4, 8.0 y 8.1, publicó solo parches de código fuente, y BleepingComputer informa que las distribuciones y los proveedores de soporte a largo plazo pueden suministrar soluciones retroportadas. PHP dice que no hay una solución completa, por lo que actualizar o pedir a un proveedor un paquete parcheado es la única opción segura.
¿Por qué un error de memoria conocido de PHP tardó hasta octubre de 2026 en solucionarse?
La Fundación PHP dice que un desarrollador principal encontró los primeros signos del problema de memoria durante una auditoría de seguridad de 2024, pero no se conocía ninguna ruta de explotación y cada solución candidata tenía contrapartidas, como rupturas de compatibilidad. El equipo de seguridad decide por consenso y tuvo dificultades para elegir, lo que la Fundación califica como un fallo estructural causado por su proceso de decisión y la falta de recursos.
¿Se está explotando PHP2Shell y qué tan fácil es de explotar?
Las fuentes discrepan. Amazon registró un intento de explotación el 17 de octubre y luego dijo que PHP2Shell fue ampliamente explotado, y watchTowr informó de la explotación en la naturaleza. CISA no había observado explotación en el momento de la publicación, y el equipo de PHP no vio ninguna explotación funcional en el lanzamiento. watchTowr dice que la mayoría de los scripts públicos de explotación fallan o no hacen nada, y VulnCheck encontró que la ejecución de código funciona solo en algunas configuraciones.
¿Cuál fue el veredicto de The Daily Diff sobre PHP2Shell?
El veredicto de The Daily Diff fue SHIP IT: envía la actualización de PHP esta noche, porque la nueva versión es la única solución completa. CISA dice que se deben inventariar todos los sistemas que ejecutan PHP, incluidas las copias dentro de otro software, aplicar el parche y desconectar los sistemas PHP si no se pueden actualizar. Amazon aconseja revisar los registros hasta el 17 de octubre, cuando vio el primer intento.
Transcripción traducida
Traducido de la narración original en inglés. El audio y los subtítulos disponibles están controlados por YouTube.
¿Quién intentó PHP2Shell cuatro días antes?
0:00 Se supone que un embargo de seguridad mantiene un error en secreto hasta que se envía el parche. Amazon registró un intento contra el error crítico de PHP cuatro días antes. En este vídeo, ¿quién lo encontró? ¿Cómo se filtró el embargo? ¿Y qué tan grave es, realmente? Y la empresa culpada de la filtración tiene una defensa que no esperaba. Ya llego a eso. Es jueves, veintidós de octubre, y este es The Daily Diff.
0:21 PHP es un lenguaje de scripting que construye páginas web en el servidor justo antes de que te lleguen. Tiene más de treinta años y, según una estimación, ejecuta alrededor del setenta por ciento de los sitios web, incluidos WordPress y el software detrás de Wikipedia. A los desarrolladores les encanta burlarse de él, generalmente desde una página que PHP les está sirviendo. Su mantenimiento es una organización sin fines de lucro con unos trece ingenieros.
¿Cuáles son los dos errores de PHP2Shell?
0:41 El miércoles, PHP envió parches de emergencia para dos fallos críticos que permitían a un extraño ejecutar código en un servidor sin necesidad de iniciar sesión. Juntos se llaman PHP2Shell, y se remontan a PHP cinco punto cuatro. Aquí está el primer error en palabras sencillas. PHP asigna un presupuesto de memoria a cada solicitud. Si una solicitud alcanza ese límite exactamente en el momento equivocado, PHP se interrumpe rápidamente y deja la solicitud a medio construir. Luego, el paso de limpieza confía en la cosa a medio construir.
1:07 El segundo error es un sobrante. Un error fatal puede dejar una nota apuntando a la memoria que pertenecía a la última solicitud. El mismo trabajador maneja la siguiente solicitud y sigue la nota. Para entonces, alguien más vive en esa dirección. En Apache con mod PHP, el daño ocurre antes de que se ejecute tu propio código, por lo que tu página de inicio de sesión nunca tiene voto. Wiz dice que incluso un script de "hola mundo" está expuesto. La solución elimina la salida de emergencia de PHP por quedarse sin memoria.
1:32 En lugar de salir a mitad de la solicitud, PHP ahora se detiene amablemente en el siguiente punto seguro. Lo extraño es lo antigua que es la primera pista.
¿Por qué un error conocido esperó dos años?
1:39 En 2024, una auditoría de seguridad externa llevó a un desarrollador principal de PHP a los primeros signos del problema de memoria. No se conocía ninguna explotación, y cada solución rompía algo. Un equipo que decide por consenso no pudo elegir, así que el error esperó. Luego, en agosto, los descubridores llegaron en cuestión de días.
¿Quién encontró PHP2Shell y cómo?
1:56 El investigador de Calif Ryan Austin lo encontró el primero de agosto, trabajando a través del programa Patch the Planet de OpenAI. OpenAI informó la misma causa raíz de forma independiente. Wiz encontró variantes unas semanas después con los modelos Gemini y GPT. Austin dice que usó modelos que cualquiera puede obtener, además de una teoría sobre dónde se esconden los viejos errores de PHP. OpenAI dice que la IA de vanguardia fue la clave. El error se había ocultado durante más de una década. El lanzamiento estaba previsto para el jueves.
¿Cómo se filtró el embargo de PHP2Shell?
2:21 El martes, los dos números de CVE comenzaron a circular en línea, con un tiempo de lanzamiento incorrecto y una puntuación incorrecta de diez. PHP adelantó el lanzamiento un día. Esa noche, Calif publicó accidentalmente un video de su prueba de concepto funcionando, y las copias sobrevivieron a la eliminación. El miércoles por la mañana, más de seis horas antes del lanzamiento, Chainguard publicó imágenes compiladas que contenían la solución. PHP dice que cualquier atacante podría estudiar esa solución mientras todos los demás esperaban.
2:46 Un parche también es una diferencia, y los atacantes leen las diferencias.
¿Está siendo explotado PHP2Shell y por quién?
2:50 ¿Así que a quién se está afectando realmente? El honeypot de Amazon registró un intento el diecisiete de octubre y luego dijo que PHP2Shell es ampliamente explotado. watchTowr informa de explotación en la naturaleza. Cisa dijo que no había observado ninguna cuando se publicó, y el equipo de PHP no vio ninguna explotación funcional en el lanzamiento. El CEO de Cloudflare dijo que vio miles de intentos en las diez horas antes del anuncio, y millones el jueves por la mañana.
3:13 Amazon es cuidadoso en un punto. No sabe si sus primeros intentos habrían funcionado en un sistema real. Un intento es solo un golpe en la puerta. ¿Tan grave es, realmente? watchTowr dice que los exploits públicos que circulan en su mayoría fallan o no hacen nada. VulnCheck dice que la ejecución de código funciona en algunas configuraciones, y ninguna de las públicas supera la aleatorización de memoria en servidores x86 estándar. El investigador Elias Taylor dice que no es tan fácil como Log4Shell.
3:40 Todos siguen diciendo que hay que parchear. Los gobiernos no esperaron el veredicto.
¿Qué desconectaron los gobiernos?
3:44 La NSA dijo a las organizaciones que no podían aplicar parches que desconectaran los sistemas PHP, y el Centro Nacional de Ciberseguridad del Reino Unido dio un consejo similar. Sitios holandeses, incluido el servicio nacional de identidad digital, se desconectaron, junto con un sitio de la policía de París. Wikimedia cerró varios sistemas como precaución. Palo Alto Networks contó más de veintidós millones de instancias expuestas. Y un profesor australiano hizo la observación más aguda. Los sitios de los que hay que preocuparse son los que no están caídos hoy.
¿Qué versiones de PHP obtienen una solución?
4:11 Existen soluciones para PHP ocho punto dos hasta ocho punto cinco. Para siete punto cuatro, ocho punto cero y ocho punto uno, PHP publicó solo parches de código fuente. Las versiones anteriores no reciben nada del proyecto PHP, así que pregunta a tu distribución. Las soluciones provisionales reducen las probabilidades, pero PHP dice que la actualización es la única solución completa. Es la misma lección que el episodio de eMudhra de ayer,
¿Qué haces con PHP2Shell esta noche?
4:32 porque que exista una solución no es lo mismo que el proceso en ejecución la tenga. Encuentra cada PHP en tu pila, incluso las copias que se esconden dentro de otro software. Actualiza, reinicia los trabajadores y revisa los registros hasta el diecisiete de octubre. El mismo día, GitLab envió una versión de parche crítica,
¿Qué más se envió hoy con un parche crítico de RCE?
4:47 diecinueve punto cinco punto uno. Un desbordamiento de enteros en su compilador de expresiones regulares permite a un usuario no autenticado ejecutar código en el servidor, y puntúa diez de diez. GitLab punto com ya está parcheado. Las instalaciones autoadministradas necesitan la actualización.
¿Por qué se ordenó a Meta pagar 25 mil millones de dólares?
5:01 Mientras tanto, en Nuevo México, un juez ordenó a Meta pagar veinticinco mil millones de dólares en multas por Cambridge Analytica. El jurado contó más de cuarenta y tres millones de violaciones con hasta cinco mil dólares cada una, lo que ascendía a unos doscientos veinte mil millones antes de que el juez lo redujera. Meta dice que ganará en apelación. Ahora la defensa que prometí.
¿Cuál es la defensa de Chainguard para el parche anticipado?
5:19 El CEO de Chainguard le dijo a The Register que él mismo encontró los mismos errores un viernes por la noche, después de saber que algo se acercaba en PHP, con una indicación básica para encontrar vulnerabilidades malas. Dice que lo envió temprano porque la gente ya estaba siendo afectada. Si prefieres leer esto a oírme decirlo, el diff llega a tu bandeja de entrada todas las mañanas, gratis en the daily diff dot dev, enlace abajo. Así que el veredicto de hoy es SHIP IT.
¿Qué recibe el sello SHIP IT?
5:39 Envía la actualización de PHP esta noche, porque el nuevo número de versión es la única solución completa. Y ese es el diff de hoy. Soy Niko de Axrisi. Fusiona con responsabilidad.
Fuentes
- Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
- RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
- RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
- Upcoming Critical PHP Security Releasephp.net
- php2shellCalif
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
- Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
- Critical Vulnerabilities in PHP Require Immediate PatchingCISA
- Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
- What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
- PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
- PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
- There isn't an easy exploit for this PHP vulnerabilityElias Taylor
- PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
- PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
- PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
- GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13GitLab
- Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
- Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News



