Un skimmer polimórfico operaba en tiendas online infectadas y cambiaba de un sitio a otro.

El atacante comprometió miles de tiendas y dejó la puerta abierta a su infraestructura. La comprobación del servidor abierto del operador Lockster mostró que, mediante una 0-day crítica en Magento Open Source y Adobe Commerce, se comprometieron al menos 3834 sitios, principalmente tiendas en línea. La campaña comenzó aproximadamente el 4 de septiembre y seguía activa a finales de mes.
La infraestructura expuesta ofreció una rara oportunidad para evaluar la magnitud real de las infecciones no por escaneo, sino por los datos del propio atacante. En el servidor había herramientas maliciosas, volcados de información robada y datos sobre los objetivos. En conjunto, las tiendas descubiertas procesaron al menos 2 millones de pedidos desde principios de 2026, aunque no fue posible determinar el número de tarjetas de pago robadas.
Los ataques están relacionados con StyleSmuggler, la vulnerabilidad CVE-2026-75650 con una puntuación máxima de 10,0 según CVSS 3.1. El fallo permite ejecutar código arbitrario de forma remota sin cuenta ni interacción del usuario. Adobe el 7 de septiembre publicó una corrección de emergencia VULN-39341 para las ramas afectadas de Adobe Commerce, Magento Open Source y Adobe Commerce B2B.
Los primeros ataques fueron detectados por Sansec el 4 de septiembre, cuando aún no existía el parche. Anteriormente fue posible reproducir StyleSmuggler en instalaciones limpias de las versiones actuales. La vulnerabilidad inyecta código PHP en el sistema de plantillas, tras lo cual el servidor lo ejecuta al generar el correo estándar por pago fallido. No es necesario abrir el mensaje; el código se ejecuta durante la preparación del correo.
Tras la intrusión, Lockster no se limitó al acceso inicial. En los servidores aparecían procesos ocultos kworker o fc-cache, cuentas SSH adicionales y nuevos administradores de Magento. Varios mecanismos de persistencia permitían sobrevivir a intentos aislados de limpieza del sistema y conservar el control incluso después de que el propietario cerrara la vulnerabilidad inicial.
En las páginas de pago el operador instaló un skimmer polimórfico, cuyo código variaba ligeramente de un sitio a otro. El malware interceptaba el número de tarjeta, CVV o CVC, fecha de caducidad, método de pago, nombre, dirección, teléfono y correo electrónico del comprador. Las diferencias entre las copias estaban diseñadas para dificultar la detección mediante firmas simples.
El acceso al servidor también permitía robar claves privadas de pasarelas de pago, incluidas Braintree y Authorize.net, y capturar otros secretos mediante un sniffer en el servidor. Estas claves potencialmente dan acceso a datos de pago adicionales y pueden utilizarse para cargos fraudulentos o reembolsos. Parte de los registros Lockster los enviaba a nodos cerrados, por lo que 3834 sitios representan solo el mínimo confirmado.
Lockster supervisaba qué tiendas infectadas ya habían instalado el parche y trataba de mantener el acceso a los sistemas actualizados. El operador también deshabilitaba nombres de cuentas administrativas comunes para dificultar el trabajo de otros atacantes. En los materiales hallados se encontró además una nota de rescate que exigía 150 000 dólares a uno de los recursos comprometidos.
Para las tiendas ya comprometidas un solo parche no es suficiente. Adobe recomienda tras instalar VULN-39341 cambiar la clave de cifrado y todos los secretos protegidos por ella, incluyendo las contraseñas de los administradores, los tokens de integraciones, las claves API de los sistemas de pago, las credenciales de la base de datos, las claves SSH y los secretos de extensiones de terceros.
A fecha del 28 de septiembre la investigación describía la campaña como todavía en curso. La vulnerabilidad dejó de ser 0-day tras la publicación del parche el 7 de septiembre; sin embargo, los atacantes la explotaron antes de la disponibilidad de la protección y los backdoors instalados no desaparecen con la actualización. Por eso el número 3834 refleja las compromisos confirmados, no la magnitud final del ataque.