Un ataque a la cadena de suministro convierte siete plugins en una puerta de entrada a WordPress
Los atacantes comprometieron la infraestructura de BdThemes y utilizaron datos JSON maliciosos para explotar una vulnerabilidad XSS en varios plugins. El objetivo final era conseguir persistencia administrativa en sitios WordPress comprometidos.
📌 En resumen
- Siete plugins de BdThemes fueron afectados por un ataque de cadena de suministro.
- Los atacantes envenenaron respuestas JSON utilizadas por los complementos.
- El código podía crear cuentas de administrador y desplegar mecanismos de persistencia.
- Los plugins afectados fueron retirados temporalmente del directorio oficial de WordPress.
Un ataque contra la infraestructura de BdThemes ha puesto en riesgo varias instalaciones de WordPress mediante una técnica poco habitual: los atacantes no necesitaron modificar directamente los archivos de los plugins distribuidos desde WordPress.org.
En su lugar, comprometieron un servicio remoto utilizado por los complementos para cargar datos JSON y aprovecharon una vulnerabilidad XSS para ejecutar JavaScript dentro del navegador de administradores autenticados. A partir de ahí, la cadena de ataque podía crear cuentas administrativas fraudulentas, instalar código adicional y establecer mecanismos de acceso persistente.
El análisis de Wordfence apunta a un compromiso de la infraestructura utilizada por BdThemes y no a una modificación directa de los archivos almacenados en el repositorio oficial de WordPress.
Siete plugins de WordPress están afectados
La campaña afecta a siete complementos desarrollados por BdThemes:
- Element Pack Addons for Elementor, con más de 100.000 instalaciones activas.
- Live Copy Paste for Elementor, con más de 6.000 instalaciones activas.
- Pixel Gallery Addons for Elementor.
- Prime Slider Addons for Elementor.
- Smart Admin Assistant.
- Ultimate Post Kit Addons for Elementor.
- Ultimate Store Kit, con más de 6.000 instalaciones activas.
Los listados correspondientes fueron cerrados temporalmente el 7 y 8 de agosto de 2026 mientras se analiza el alcance del incidente.
El problema está en un componente que carga datos desde Internet
El origen técnico se encuentra en Biggopti, un componente incluido en los complementos afectados. Su función es cargar banners promocionales desde una API remota y mostrarlos dentro del panel de administración de WordPress.
Para hacerlo, el sistema recupera archivos JSON almacenados en un depósito de DigitalOcean Spaces.
Wordfence descubrió que el procesamiento de estas respuestas contiene una vulnerabilidad Cross-Site Scripting (XSS) relacionada con el parámetro display_id.
El problema se produce porque determinados datos recibidos desde la API no se escapan correctamente en el lado del cliente. Si un atacante controla esa respuesta, puede introducir JavaScript que posteriormente se ejecuta cuando un administrador visita determinadas páginas de wp-admin.
El ataque no necesita actualizar los plugins
Aquí está uno de los elementos más interesantes del ataque.
Los atacantes habrían conseguido acceso de escritura al almacenamiento utilizado por BdThemes y sustituyeron las respuestas JSON legítimas por contenido preparado para explotar la vulnerabilidad.
Esto significa que no era necesario distribuir una actualización maliciosa del plugin. Un complemento legítimo ya instalado podía convertirse en vector de ataque al recibir contenido manipulado desde la infraestructura remota.
Según la investigación, la actividad apareció inicialmente el 1 de marzo de 2026 en Prime Slider antes de extenderse posteriormente a otros complementos.
El objetivo: crear administradores y mantener el acceso
La carga principal, distribuida mediante el endpoint api-data-all-records, ejecuta un archivo JavaScript identificado como w2.js.
Entre sus acciones se encuentran contactar con un servidor de mando y control, crear una cuenta de administrador no autorizada mediante la API REST de WordPress y descargar un archivo que aparenta ser un plugin para instalarlo en el sitio.
La cadena también permite desplegar un shell web PHP denominado emer-run.php y añadir módulos de persistencia dentro del directorio mu-plugins.
Uno de esos módulos funciona como una puerta trasera de autenticación, mientras que otro modifica las consultas de la base de datos para ocultar las cuentas maliciosas del listado de usuarios del panel.
El resultado es especialmente peligroso: el administrador legítimo puede no detectar fácilmente que existen otras cuentas con privilegios elevados dentro de su instalación.
Una segunda carga genera credenciales a partir del dominio
Los investigadores también localizaron una segunda carga denominada x.js, distribuida mediante otro endpoint de la infraestructura comprometida.
Esta variante genera de forma determinista nombres de usuario y contraseñas administrativas a partir del dominio del sitio atacado.
La técnica elimina la necesidad de mantener una base de datos centralizada de credenciales. Un operador que conozca el dominio comprometido puede calcular las credenciales correspondientes y utilizarlas durante una investigación o un ataque posterior.
La carga también envía información sobre las operaciones realizadas al servidor C2.
El mismo C2 aparece en otros ataques contra WordPress
Wordfence ha encontrado conexiones entre la infraestructura utilizada en esta campaña y otros ataques recientes contra la cadena de suministro de plugins de WordPress.
Uno de ellos afectó a Advanced Responsive Video Embedder mediante CVE-2026-18072, mientras que otro estuvo relacionado con OptinMonster.
En los distintos incidentes aparecen patrones similares: creación de cuentas administrativas ocultas, instalación de componentes maliciosos y establecimiento de mecanismos que permiten conservar el acceso después de la intrusión inicial.
El verdadero problema está en la cadena de suministro
El caso de BdThemes demuestra por qué los plugins que dependen de servicios externos pueden convertirse en un riesgo aunque sus archivos locales no hayan sido modificados.
Si un complemento ejecuta contenido remoto dentro de un contexto privilegiado como wp-admin, un atacante que consiga controlar esa fuente puede convertir una instalación legítima en un punto de entrada.
Para los administradores de WordPress, la prioridad es revisar las instalaciones que hayan utilizado los complementos afectados, actualizar o retirar los plugins implicados cuando existan versiones corregidas y buscar cuentas administrativas desconocidas, archivos PHP sospechosos y modificaciones en mu-plugins.
La campaña también demuestra que proteger únicamente el código distribuido desde el repositorio oficial no es suficiente cuando un plugin incorpora dependencias o recursos remotos con capacidad de ejecutar contenido dentro del panel administrativo.