Los actores de amenazas están explotando una falla de seguridad crítica recientemente revelada en Ghost CMS para inyectar código JavaScript malicioso con el objetivo de impulsar los ataques ClickFix.
Según QiAnXin XLab, la actividad implica la explotación de CVE-2026-26980 (puntuación CVSS: 9,4), una vulnerabilidad de inyección SQL en la API de contenido de Ghost que podría permitir a un atacante no autenticado leer datos arbitrarios de la base de datos. La falla de seguridad se solucionó en febrero de 2026 en la versión 6.19.1. La vulnerabilidad fue descubierta por Anthropic usando Claude.
Lo que hace que la vulnerabilidad sea grave es que permite a un atacante obtener acceso a la clave API de administración de un sitio sin permiso, lo que le otorga la capacidad de envenenar el sitio inyectando código malicioso. La clave API de administración se puede utilizar para invocar la API de administración y puede modificar directamente los artículos publicados en el sistema de gestión de contenidos.
El actor de amenazas aprovechó la falla de seguridad para «obtener la clave API de administración del sitio objetivo sin autorización, y luego usó la API de administración fantasma para manipular artículos en masa, inyectando cargadores de JavaScript maliciosos en la parte inferior de las páginas para ayudar a ataques CAPTCHA falsos», dijo XLab.
La actividad ha sido descrita por el proveedor de seguridad chino como una campaña de «intoxicación a gran escala» que utiliza como arma la falla de Ghost CMS. Se considera que al menos dos grupos de amenazas diferentes están detrás de la campaña, y en algunos casos implantan códigos maliciosos en ciertos sitios en un solo día. Fue detectado por primera vez el 7 de mayo de 2026.
En total, la campaña ha comprometido más de 700 sitios web, que abarcan universidades, blockchain, inteligencia artificial, software como servicio (SaaS), investigación de seguridad, medios de comunicación y sectores de tecnología financiera. El hecho de que se hayan violado sitios web legítimos podría aumentar aún más la tasa de éxito de los ataques ClickFix, dijo XLab.
El código JavaScript inyectado al final de un artículo funciona como un cargador de dos etapas que es responsable de recuperar la carga útil principal en tiempo de ejecución desde un dominio externo («clo4shara(.)xyz/11z77u3.php»). Esta arquitectura ofrece mayor flexibilidad, ya que permite al actor de amenazas intercambiar las cargas útiles según diferentes criterios, manteniendo intacta la funcionalidad del cargador en varios sitios comprometidos.

«Al acceder directamente a clo4shara(.)xyz/11z77u3.php se revela un fragmento de código, que en realidad es un script de distribución de tráfico típico», explicó XLab. «Su función principal es recopilar diversa información de huellas dactilares del navegador del usuario y cargarla en el servidor, luego realizar acciones como redirección, ventanas emergentes y descargas basadas en las instrucciones devueltas». El script PHP funciona con Adspect, un servicio de encubrimiento comercial.
La idea detrás del uso del script de encubrimiento es garantizar que solo las víctimas reales reciban la carga útil real, mientras que los escáneres y rastreadores de seguridad solo verán una página web benigna. El script también admite 19 comandos diferentes para ejecutar código JavaScript arbitrario y facilitar el control remoto del navegador de la víctima.
Los visitantes del sitio considerados objetivos previstos finalmente reciben una página de verificación CAPTCHA falsa dentro de un elemento HTML iframe para demostrar que son humanos. Esto, a su vez, desencadena un ataque ClickFix, como parte del cual se les indica que copie y pegue un comando codificado en Base64 en el cuadro de diálogo Ejecutar de Windows.
El comando sirve como cuentagotas para entregar un archivo ZIP, extrae de él un script por lotes de Windows y lo ejecuta. El script, por su parte, ejecuta un comando de PowerShell para descargar un archivo DLL desde un dominio remoto, ejecutarlo usando «rundll32.exe» y abrir una página web falsa para el usuario como distracción.
Se ha descubierto que las iteraciones posteriores del malware reemplazan la DLL con una carga útil de JavaScript. Independientemente del tipo de carga útil, el objetivo final del ataque es eliminar un ejecutable de Windows. En el caso de la DLL, el ejecutable es un cliente PuTTY con un certificado de firma de código válido. El binario distribuido a través de JavaScript es un instalador de Inno Setup para una aplicación de Electron.
La aplicación es una versión modificada del cliente de escritorio Grape de código abierto que está diseñada para lograr persistencia y sondear un servidor remoto («web-telegram(.)ug») cada 30 segundos para procesar las instrucciones emitidas por el atacante, incluida la ejecución de código JavaScript o archivos ejecutables.
Se recomienda a los usuarios de Ghost CMS que actualicen sus instancias a la última versión, roten todas las credenciales, limpien los sitios, auditen los registros de acceso en busca de signos de actividad sospechosa y notifiquen a los usuarios que puedan haber visitado los sitios durante el período de contaminación para detectar posibles compromisos.