Seguridad Web

¿PHP fue hackeado? La verdad sobre PHP2Shell, los ataques y las filtraciones

  • Inicio
  • Blog
  • ¿PHP fue hackeado? La verdad sobre PHP2Shell, los ataques y las filtraciones

Encuentra lo que necesitas

Busca en nuestro blog

¿PHP fue hackeado? La verdad sobre PHP2Shell, los ataques y las filtraciones
¿PHP fue hackeado? La verdad sobre PHP2Shell, los ataques y las filtraciones

¿Los hackers consiguieron entrar en los servidores de PHP? ¿Alguien filtró deliberadamente una vulnerabilidad antes de que existieran parches? ¿Es cierto que ya se habían comprometido sistemas gubernamentales?

Estas preguntas comenzaron a circular durante la emergencia de PHP2Shell, una de las alertas de seguridad más importantes de octubre de 2026.

Las conversaciones en Reddit, Hacker News y comunidades de administradores mezclaron información técnica, experiencias particulares, críticas a los investigadores y afirmaciones que todavía no podían demostrarse.

La situación se volvió más confusa cuando algunas empresas de ciberseguridad informaron de posibles ataques exitosos y posteriormente corrigieron sus conclusiones.

Para entender lo ocurrido, examinamos los comunicados del proyecto PHP, las investigaciones de Amazon, Sophos y Palo Alto Networks, así como las discusiones públicas y noticias de otros países.

La conclusión inicial es importante: se descubrieron vulnerabilidades críticas en PHP y se observaron intentos reales de explotación. Sin embargo, eso no demuestra que la infraestructura oficial del proyecto PHP haya sido hackeada.

¿PHP fue hackeado realmente?

Hasta el 25 de octubre de 2026, las fuentes examinadas no aportan evidencia pública suficiente para afirmar que los servidores oficiales del proyecto PHP fueron comprometidos mediante PHP2Shell.

Lo que sí está confirmado es el descubrimiento de dos vulnerabilidades críticas en el intérprete PHP, identificadas como CVE-2026-109618 y CVE-2026-109619.

Ambas permitían, bajo determinadas condiciones, ejecutar código remotamente sin autenticación. Esta clase de problema recibe el nombre de ejecución remota de código o RCE, por sus siglas en inglés.

Conviene distinguir cuatro conceptos que frecuentemente se confunden:

Concepto

Qué significa

Vulnerabilidad

Un defecto que puede permitir una acción no autorizada

Intento de explotación

Una acción dirigida a aprovechar una vulnerabilidad, aunque fracase

Explotación exitosa

Se consigue activar el comportamiento vulnerable y obtener el efecto buscado

Compromiso del sistema

El atacante logra acceso o control no autorizado sobre un sistema

Una vulnerabilidad crítica no implica automáticamente que un atacante haya conseguido entrar en todos los servidores que ejecutan ese software.

También es posible que una empresa sufra una intrusión mediante otra falla de seguridad, aunque utilice PHP y todavía no haya instalado los parches de PHP2Shell.

Esta diferencia parece evidente para un especialista, pero resulta esencial para interpretar correctamente las noticias.

¿De dónde surgió el rumor sobre el hackeo de PHP?

El origen de la confusión está relacionado con la divulgación anticipada de las vulnerabilidades.

La publicación oficial estaba programada inicialmente para el 22 de octubre. Sin embargo, el día 20 comenzaron a circular sus identificadores antes de que los administradores dispusieran de todas las correcciones.

En Hacker News apareció una publicación titulada Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming.

El mensaje anticipaba dos vulnerabilidades que supuestamente tendrían una puntuación de gravedad de 10 sobre 10 y afirmaba basarse en una fuente confiable.

El propio autor reconocía que no disponía de evidencia pública adicional para respaldar la información.

Los identificadores eran auténticos, pero algunos detalles resultaron incorrectos. La gravedad oficial fue de 9,2 sobre 10, no de 10.

La PHP Foundation confirmó posteriormente que el 20 de octubre comenzaron a circular referencias a ambas vulnerabilidades y que decidió adelantar el calendario de publicación.

Esto demuestra que existió una ruptura del embargo informativo.

No demuestra, en cambio, que alguien ingresara ilegalmente en los sistemas oficiales de PHP para robar información.

Una filtración puede producirse mediante muchos mecanismos: comunicaciones adelantadas, publicaciones accidentales, acceso a información compartida o personas que conocen detalles reservados.

Determinar cuál ocurrió requiere evidencia específica.

Fuente: Discusión original de Hacker News.

El misterio del 17 de octubre: alguien intentó explotar PHP antes de los parches

Uno de los hallazgos más importantes apareció en una investigación publicada por Amazon Threat Intelligence.

Amazon mantiene una infraestructura llamada MadPot, compuesta por sistemas que permiten observar actividad maliciosa en internet.

Al revisar sus registros, identificó un intento de explotación relacionado con PHP2Shell ocurrido el 17 de octubre de 2026.

Esto sucedió tres días antes de la primera filtración pública ampliamente documentada y cuatro días antes de las actualizaciones oficiales.

¿Cómo sabía el atacante qué debía intentar?

Amazon reconoció que no pudo determinarlo.

Existen varias explicaciones posibles. Un actor malicioso pudo descubrir la vulnerabilidad de manera independiente, obtener información anticipada o investigar comportamientos del programa relacionados con el defecto.

Pero ninguna de estas hipótesis puede presentarse como un hecho demostrado.

También hay que considerar que una solicitud dirigida contra un sistema señuelo no garantiza que la técnica consiguiera comprometer un servidor real.

La investigación de Amazon es importante porque demuestra que la actividad sospechosa comenzó antes de la divulgación oficial.

Por eso, una revisión de seguridad que solamente examine registros posteriores al 21 de octubre podría pasar por alto intentos anteriores.

Fuente: Investigación de Amazon Threat Intelligence.

¿Qué responsabilidad tuvieron Calif y Chainguard?

Durante la emergencia surgieron críticas hacia algunas organizaciones que participaron en la investigación y distribución de las correcciones.

La PHP Foundation explicó que Calif publicó accidentalmente un video que mostraba una prueba de explotación, poco después de que el proyecto adelantase su comunicación preventiva.

El material fue retirado, pero comenzaron a circular copias.

Según la fundación, aquella publicación contribuyó a acelerar el desarrollo de nuevas pruebas de concepto.

También criticó a Chainguard por distribuir imágenes corregidas antes de que terminara el embargo coordinado.

La razón técnica es importante.

Cuando una organización publica una versión corregida, un investigador puede compararla con la anterior e identificar qué partes del programa cambiaron.

Ese análisis puede ayudar a comprender el defecto original y facilitar la elaboración de una técnica de explotación.

Sin embargo, las responsabilidades deben describirse con precisión.

Que una publicación haya sido accidental o anticipada no demuestra que sus responsables quisieran ayudar a los atacantes.

Tampoco explica el intento que Amazon observó el 17 de octubre, cuando esas publicaciones todavía no habían ocurrido.

La PHP Foundation documentó estos acontecimientos y reconoció que la coordinación de seguridad necesitaba mejoras.

Fuente: PHP Foundation: publicación de seguridad y fortalecimiento de sus procesos.

Sophos informó de un ataque exitoso, pero después corrigió su conclusión

Este caso demuestra por qué debemos comprobar las actualizaciones de los comunicados de ciberseguridad, no solamente sus primeras versiones.

El 22 de octubre, Sophos publicó un análisis sobre intentos de explotación de PHP2Shell.

Su actualización inicial informó que había identificado actividad compatible con una explotación exitosa.

También describió un código malicioso relacionado con una variante de la familia Mirai, denominada Potassium.

Pero horas después, a las 21:21 UTC, Sophos corrigió su evaluación.

Tras revisar nuevamente los datos de sus clientes, concluyó que había observado escaneos e intentos fallidos, pero no evidencia de compromiso exitoso atribuible a las vulnerabilidades investigadas.

La empresa explicó que sus mecanismos de protección habían impedido la ejecución del código malicioso observado.

Esto no significa que el intento fuera imaginario ni que el programa malicioso no existiera.

Significa que la evidencia disponible no sostenía la afirmación inicial de éxito.

Hay una diferencia enorme entre encontrar una solicitud maliciosa, detectar un archivo preparado para atacar y comprobar que el atacante realmente consiguió ejecutar instrucciones en el servidor.

Fuente: Sophos: análisis de PHP2Shell y corrección del 22 de octubre.

Palo Alto Networks también retiró una atribución a PHP2Shell

El 23 de octubre, Unit 42, el equipo de inteligencia de amenazas de Palo Alto Networks, publicó información sobre actividad posterior a una intrusión relacionada con una entidad gubernamental europea.

Inicialmente, los investigadores consideraron que podía existir una relación con PHP2Shell.

Sin embargo, el 25 de octubre actualizaron su análisis.

La empresa explicó que había observado actividad maliciosa contra una entidad que utilizaba una aplicación PHP vulnerable, pero que no podía confirmar que el acceso inicial hubiera ocurrido mediante CVE-2026-109618 o CVE-2026-109619.

Por ese motivo retiró su atribución anterior.

La distinción es importante: que un servidor utilice PHP no significa que cualquier intrusión que sufra haya aprovechado una vulnerabilidad del propio intérprete.

Una aplicación también puede contener errores en sus componentes, extensiones, mecanismos de autenticación o configuraciones.

Atribuir correctamente la causa exige reconstruir cómo ingresó el atacante.

La rectificación de Unit 42 no demuestra que la entidad no haya sufrido un ataque. Significa que no podía sostenerse la conexión específica con PHP2Shell a partir de la evidencia disponible.

Fuente: Palo Alto Networks Unit 42.

El caso de Japón: cuando una empresa confundió la causa de un incidente

La cobertura japonesa aportó otro ejemplo particularmente ilustrativo.

El 22 de octubre, medios tecnológicos informaron de una interrupción de servicios y una posible exposición de datos relacionada con la empresa Valtec.

La explicación inicial vinculaba el incidente con un ataque dirigido contra una vulnerabilidad de PHP.

Posteriormente, la información fue corregida.

La causa comunicada estaba relacionada con una vulnerabilidad del propio servicio de la empresa y no con las fallas de PHP2Shell.

Esto evidencia un problema frecuente durante emergencias informáticas: cuando se publica una vulnerabilidad muy conocida, cualquier incidente cercano en el tiempo puede atribuirse precipitadamente a ella.

Sin una investigación técnica que establezca la relación causal, esa asociación puede resultar incorrecta.

Por eso, en EspecialistaSEO distinguimos entre la fecha de un incidente, la presencia de software vulnerable y la causa demostrada de una intrusión.

Fuente: INTERNET Watch Japón: caso Valtec y corrección de la noticia.

¿Qué se discutió en Reddit y Hacker News?

Las comunidades técnicas reflejaron diferentes preocupaciones durante la emergencia.

«PHP2Shell terminó y no pasó nada»

En r/PHP apareció una publicación que criticaba el exceso de noticias y afirmaba que PHP2Shell había terminado sin grandes consecuencias.

Algunos participantes coincidieron en que la difusión de rumores había sido excesiva. Otros recordaron que numerosos sitios antiguos y aplicaciones abandonadas podían seguir utilizando versiones vulnerables.

Ambas preocupaciones merecen atención.

El alarmismo puede generar conclusiones equivocadas, pero la ausencia de compromisos públicamente confirmados no convierte una vulnerabilidad crítica en un problema inexistente.

Las medidas preventivas, el trabajo de los desarrolladores y la instalación de parches pueden evitar incidentes. No corresponde interpretar esa prevención como prueba de que el riesgo nunca existió.

Fuente: Debate en r/PHP.

«¿Y si mi servidor ya fue atacado antes de actualizar?»

En r/sysadmin, administradores comentaron la conveniencia de revisar registros anteriores al anuncio oficial.

La preocupación surgió después de que Amazon informara del intento detectado el 17 de octubre.

Esta es una inquietud técnicamente razonable.

Instalar un parche evita determinadas explotaciones futuras, pero no elimina automáticamente una posible puerta trasera que un atacante hubiera conseguido instalar antes.

Por ello, cuando existen indicios relevantes, la actualización debe complementarse con investigación de registros, procesos, archivos inesperados y otras evidencias.

Eso no significa que todos los servidores necesiten una reconstrucción completa. La respuesta debe ser proporcional a los hallazgos.

Fuente: Discusión en r/sysadmin.

«¿Por qué no había información oficial más clara?»

En r/PHP también aparecieron críticas a la comunicación durante las horas previas a los parches.

Un participante relató que en su equipo circulaban rumores, mensajes contradictorios y dudas sobre si la explotación ya estaba ocurriendo.

La discusión incluyó una respuesta de Alexandre Daubois, integrante del equipo de seguridad de PHP, quien reconoció la necesidad de aprender de la experiencia.

La situación muestra que la seguridad también depende de la comunicación.

Cuando una advertencia afecta a millones de instalaciones, los administradores necesitan conocer qué se ha confirmado, qué se desconoce y qué acciones son recomendables.

Fuente: Debate en la comunidad PHP de Reddit.

¿Los ataques fueron reales o solamente pruebas de laboratorio?

Los intentos de explotación fueron reales. Distintas empresas de seguridad detectaron solicitudes maliciosas y pruebas dirigidas a aprovechar PHP2Shell.

También se desarrollaron demostraciones técnicas que confirmaron la viabilidad de las vulnerabilidades en determinados entornos.

Sin embargo, estas situaciones no son equivalentes.

Una prueba de laboratorio demuestra que una técnica puede funcionar bajo condiciones controladas.

Un intento detectado en internet muestra que alguien trató de reproducirla contra un objetivo.

Una intrusión confirmada exige evidencia adicional sobre lo ocurrido en un sistema concreto.

Hasta la fecha de esta investigación, algunas de las atribuciones públicas de explotación exitosa habían sido corregidas o retiradas.

Esto no permite afirmar que ningún atacante haya tenido éxito en ningún lugar. La ausencia de una confirmación pública universal no demuestra la ausencia de incidentes.

El criterio adecuado es atribuir cada afirmación a la organización que la realizó, indicar su fecha y comprobar si posteriormente fue actualizada.

¿La inteligencia artificial ayudó a los atacantes?

La inteligencia artificial tuvo un papel documentado en el descubrimiento de las vulnerabilidades.

Investigadores utilizaron herramientas de análisis asistido por IA para encontrar o demostrar errores complejos del intérprete PHP.

Pero hay que distinguir esa actividad legítima de investigación del uso que puedan hacer actores maliciosos.

Una herramienta capaz de encontrar defectos de programación también puede facilitar el análisis de parches publicados.

Eso puede reducir el tiempo necesario para comprender una vulnerabilidad.

Sin embargo, el uso de inteligencia artificial no demuestra por sí solo que una explotación haya sido exitosa ni identifica automáticamente quién realizó un ataque.

La PHP Foundation también reconoció que el aumento de investigaciones asistidas por IA había incrementado el número de reportes recibidos, incluidos informes incorrectos o imposibles de reproducir.

Esto introduce otro desafío: evaluar rápidamente una cantidad creciente de alertas sin sacrificar el análisis humano.

La IA puede ayudar a investigar, pero la evidencia continúa siendo indispensable.

¿Qué podemos aprender como administradores de servidores?

Nuestra experiencia durante la emergencia de PHP2Shell incluyó la revisión y actualización de tres servidores basados en CloudLinux y cPanel.

El trabajo permitió comprender por qué una verificación superficial puede ser insuficiente.

Un servidor puede mantener varias ramas de PHP, diferentes familias de paquetes y configuraciones particulares para cada cuenta.

En ese contexto, actualizar una versión no demuestra necesariamente que todas las aplicaciones utilizan el paquete corregido.

También comprobamos que las pruebas realizadas desde la línea de comandos pueden mostrar resultados diferentes de los obtenidos desde el entorno web.

Por eso, la gestión de seguridad necesita un inventario de versiones, comprobación de paquetes, validación funcional y seguimiento de registros.

Otra enseñanza es que encontrar tráfico sospechoso no equivale a demostrar un compromiso.

Una dirección IP que aparece en un registro puede estar intentando explotar una falla, realizando una comprobación automática o utilizando infraestructura compartida.

Antes de atribuir responsabilidades, debemos reunir evidencia suficiente.

Y cuando existe una sospecha razonable de compromiso, conservar los registros y examinar los acontecimientos anteriores a la actualización puede ser tan importante como instalar el parche.

¿Qué debe hacer quien utiliza WordPress o contrata hosting?

La primera recomendación es comprender que la seguridad de WordPress no depende exclusivamente de sus complementos.

El sitio también utiliza un servidor web, un intérprete PHP, una base de datos y otros componentes.

Mantener WordPress actualizado es necesario, pero no sustituye las actualizaciones del entorno donde funciona.

Quienes administran sus propios servidores deben identificar las versiones PHP utilizadas, comprobar las correcciones del proveedor y verificar que los procesos web ejecutan los paquetes actualizados.

También deben mantener copias de seguridad recuperables y mecanismos de detección adecuados.

Quienes utilizan hosting administrado pueden solicitar información sobre las versiones PHP, las actualizaciones de seguridad y los procedimientos de respuesta ante incidentes.

No es necesario exigir garantías imposibles. Lo importante es contar con un proveedor que pueda explicar cómo administra los riesgos y cómo comprueba sus correcciones.

La transparencia técnica resulta más valiosa que una promesa genérica de seguridad absoluta.

Conclusión: PHP2Shell fue una vulnerabilidad crítica, no una prueba de que PHP fue hackeado

La emergencia de octubre de 2026 dejó al descubierto dos problemas distintos.

El primero fue técnico: vulnerabilidades críticas en un lenguaje utilizado por innumerables aplicaciones y servicios.

El segundo fue informativo: una divulgación alterada por filtraciones, rumores, pruebas de explotación y atribuciones que posteriormente tuvieron que corregirse.

Amazon documentó intentos anteriores a los parches. La PHP Foundation reconoció problemas en la coordinación. Sophos y Unit 42 revisaron públicamente conclusiones iniciales sobre compromisos.

Estas rectificaciones no disminuyen la gravedad de las vulnerabilidades. Demuestran la importancia de actualizar las investigaciones cuando aparecen nuevas pruebas.

Con la información pública examinada hasta el 25 de octubre, no tenemos fundamento para afirmar que los servidores oficiales de PHP fueron hackeados.

Pero tampoco podemos concluir que todos los sistemas que ejecutaban PHP estuvieron seguros.

La lección es sencilla: una vulnerabilidad no demuestra una intrusión, un intento no demuestra éxito y una sospecha no debe publicarse como un hecho.

En seguridad informática, proteger sistemas es indispensable. Informar con precisión también lo es.

Fuentes de la investigación

Documentación e investigaciones técnicas

Discusiones públicas examinadas

Lectura relacionada

WhatsApp