
Una vulnerabilidad de seguridad crítica que afecta al complemento Funnel Builder para WordPress ha sido explotada activamente en la naturaleza para inyectar código JavaScript malicioso en las páginas de pago de WooCommerce con el objetivo de robar datos de pago.
Sansec publicó los detalles de la actividad esta semana. La vulnerabilidad actualmente no tiene un identificador CVE oficial. Afecta a todas las versiones del complemento anteriores a la 3.15.0.3. Se utiliza en más de 40.000 tiendas WooCommerce.
La falla permite a atacantes no autenticados inyectar JavaScript arbitrario en cada página de pago de la tienda, dijo la empresa holandesa de seguridad de comercio electrónico. FunnelKit, que mantiene Funnel Builder, ha lanzado un parche para la vulnerabilidad en la versión 3.15.0.3.
«Los atacantes están colocando scripts falsos de Google Tag Manager en la configuración ‘Scripts externos’ del complemento», señaló. «El código inyectado parece un análisis ordinario al lado de las etiquetas reales de la tienda, pero carga un skimmer de pagos que roba números de tarjetas de crédito, CVV y direcciones de facturación del proceso de pago».
Según Sansec, Funnel Builder incluye un punto final de pago expuesto públicamente que permite que una solicitud entrante elija el tipo de método interno a ejecutar. Sin embargo, las versiones anteriores se diseñaron de manera que nunca verificaran los permisos de la persona que llama ni limitaran los métodos que se podían invocar.
Un mal actor podría aprovechar esta laguna mediante la emisión de una solicitud no autenticada que puede llegar a un método interno no especificado que escribe datos controlados por el atacante directamente en la configuración global del complemento. Luego, el fragmento de código agregado se inyecta en cada página de pago de Funnel Builder.
Como resultado, un atacante podría colocar un malware
En al menos un caso, Sansec dijo que observó una carga útil que se hacía pasar por un cargador de Google Tag Manager (GTM) para iniciar JavaScript alojado en un dominio remoto. Posteriormente, abre una conexión WebSocket al servidor de comando y control (C2) del atacante («wss://protect-wss(.)com/ws») para recuperar un skimmer adaptado al escaparate de la víctima.
El objetivo final del ataque es desviar números de tarjetas de crédito, CVV, direcciones de facturación y otra información personal que los visitantes del sitio podrían ingresar al finalizar la compra. Se recomienda a los propietarios del sitio que actualicen el complemento Funnel Builder a la última versión y revisen Configuración > Pagar > Scripts externos para detectar cualquier cosa que no les resulte familiar y eliminarla.
«Disfrazar a los skimmers como código de Google Analytics o Tag Manager es un patrón recurrente de Magecart, ya que los revisores tienden a pasar por alto cualquier cosa que parezca una etiqueta de seguimiento familiar», dijo Sansec.
La divulgación se produce semanas después de que Sucuri detallara una campaña en la que los sitios web Joomla están siendo bloqueados con código PHP muy ofuscado para contactar servidores C2 controlados por atacantes, recibir y procesar instrucciones enviadas por los operadores y servir contenido spam a visitantes y motores de búsqueda sin el conocimiento del propietario del sitio. El objetivo final es aprovechar la reputación de los sitios a la hora de inyectar spam.
«El script actúa como un cargador remoto», dijo el investigador de seguridad Puja Srivastava. «Se pone en contacto con un servidor externo, envía información sobre el sitio web infectado y espera instrucciones. La respuesta del servidor remoto determina qué contenido debe ofrecer el sitio infectado».
«Este enfoque permite a los atacantes cambiar el comportamiento del sitio web comprometido en cualquier momento sin modificar los archivos locales nuevamente. El atacante puede inyectar enlaces de productos spam, redirigir a los visitantes o mostrar páginas maliciosas dinámicamente».