PHP2Shell: atacantes explotaron la falla crítica de PHP cuatro días antes del aviso

Dos vulnerabilidades de memoria en PHP, el lenguaje que impulsa cerca del 70% de los sitios web del mundo, pasaron de rumor a emergencia global en menos de una semana. Amazon confirmó que su red de sensores detectó un intento de explotación el 17 de octubre, cuatro días antes de que los fallos —bautizados como PHP2Shell— se hicieran públicos, y advirtió que hoy están siendo explotados de forma masiva.

  • PHP2Shell agrupa dos fallos críticos: CVE-2026-109618 y CVE-2026-109619, ambos con 9,2 de severidad en CVSS v4.0, capaces de habilitar ejecución remota de código sin autenticación.
  • La ventaja de los atacantes fue real: el primer intento registrado por Amazon Threat Intelligence data del 17 de octubre de 2026 y provino de una dirección IP vinculada a una red comercial de anonimización.
  • Ya hay parches: PHP publicó las versiones 8.2.35, 8.3.36, 8.4.27 y 8.5.12; los expertos subrayan que no existe una configuración alternativa que resuelva ambos problemas por completo.

Cuatro días de ventaja antes del anuncio oficial

El hallazgo de Amazon procede de MadPot, su red de honeypots, que monitorea actividad sospechosa en infraestructura expuesta a internet. El intento del 17 de octubre se originó desde la IP 103.216.220.92, geolocalizada en Australia y asociada a un servicio de anonimización. Tras la publicación de los parches, el 21 de octubre, el equipo de inteligencia de amenazas de la compañía registró nuevas pruebas de concepto y ataques desde otras cinco direcciones anonimizadas, con una variedad de cargas que sugiere la participación de múltiples actores.

«El intento de explotación se originó en una dirección IP asociada a una red comercial de anonimización. Aunque la vulnerabilidad estaba bajo embargo, el hecho de apuntar a un honeypot desde una IP anonimizada sugiere que la actividad fue llevada a cabo por un actor de amenazas», explicó CJ Moses, CISO de Amazon Integrated Security.

El ejecutivo reconoció que sigue sin estar claro cómo obtuvo el atacante información sobre los fallos antes de su divulgación. La actividad maliciosa, además, es casi invisible: según CrowdStrike, en un ataque exitoso no hay autenticación que eludir ni sesión que robar, y el único rastro en el servidor es un fallo de límite de memoria en el registro de errores que suele confundirse con ruido.

Dos fallos de memoria en el corazón de PHP

Ambos CVE afectan la forma en que PHP administra la memoria de las peticiones durante la inicialización, el manejo de errores y la limpieza. Según Wiz, los fallos de asignación de memoria y los estados internos obsoletos pueden exponer memoria liberada o parcialmente inicializada, lo que deriva en divulgación de información sensible y ejecución remota de código. Los investigadores demostraron ataques sin autenticación contra WordPress, Drupal y Joomla.

El descubrimiento, atribuido a equipos de Calif, OpenAI y la propia Wiz —propiedad de Google—, se remontó a agosto y se reportó al equipo de PHP entonces. Los modelos de IA jugaron un papel decisivo: los investigadores emplearon Gemini 4 Argon, Wiz Atlas y GPT-5.6 Sol. En palabras de Wiz, lo que cambió la IA fue la capacidad de comprender debilidades que llevaban más de una década ocultas en el código, hasta el punto de que un solo investigador completó en una semana una tarea que antes habría exigido meses a un equipo de primer nivel.

Embargo roto y respuesta global

La divulgación coordinada estaba prevista para el 22 de octubre a las 14:00 UTC, pero la filtración de los identificadores CVE y de una prueba de concepto obligó a adelantar la publicación un día. La Fundación PHP señaló además que un tercero publicó imágenes ya construidas con la corrección antes del anuncio, lo que permitió estudiar el parche en formato binario mientras el resto de usuarios aún esperaba. Según datos recogidos por analistas, la primera petición dirigida a sensores de monitoreo se observó a las 8:36 UTC del 21 de octubre.

Gobiernos y organismos de seguridad —entre ellos la NSA estadounidense, el FBI y las agencias de Reino Unido, Singapur, Australia, Canadá y la Unión Europea— instaron a aplicar las actualizaciones de inmediato o a desconectar los sistemas afectados. La reacción tuvo costos visibles: sitios de gobierno en Francia, Dinamarca, Finlandia y Países Bajos quedaron fuera de línea, la Fundación Wikimedia retiró sistemas por precaución, la aerolínea japonesa ANA, el operador ferroviario JR West y el banco MUFG reportaron interrupciones, y el primer ministro neerlandés, Rob Jetten, y la primera ministra japonesa, Sanae Takaichi, se pronunciaron públicamente. El CTO de Cloudflare, Dane Knecht, reportó ataques tempranos y la compañía activó protecciones en su firewall de aplicaciones web.

PHP2Shell deja una lección estructural: la ventana entre el parche y el exploit funcional se mide ahora en horas. Para los responsables de seguridad, eso implica abandonar los plazos de siete o treinta días para sistemas expuestos, iniciar las investigaciones de compromiso desde la primera explotación conocida —el 17 de octubre en este caso— y desplegar detecciones que no dependan de firmas específicas, porque el primer ataque casi siempre llega antes de que exista la firma. La combinación de modelos de lenguaje avanzados con herramientas de análisis ha convertido la conversión de un parche en un arma en una tarea barata, y ese cambio de equilibrio afectará a cada vulnerabilidad crítica futura.

Fuentes y referencias