Tutoriales y Manuales
Entradas Mensuales
-
▼
2026
(Total:
7611
)
-
▼
septiembre
(Total:
869
)
-
Gemini eliminará su función más útil en noviembre
-
Policía holandesa confirma detención en el marco d...
-
OpenAI cancela su IA más avanzada por ser peligrosa
-
Demuestran que una RTX 5080 con dos conectores de ...
-
IA roba tarjetas de crédito
-
Claude Sonnet 5.5 es más eficiente y rápido
-
ChatGPT lanza ciberataques autónomos
-
OpenAI suspende el desarrollo de GPT-6.1 Astra tra...
-
Filtración en el Pentágono: acceden a datos de 3 m...
-
Fallos de seguridad en OpenAI exponen datos de usu...
-
Discord lanza modo de juego optimizado
-
Crean máquina de ataque con IA y dejan el panel de...
-
Google extiende soporte a Chromebook hasta 2034
-
iPhone bloqueará robos al estilo Android
-
Intel 18A planta cara a TSMC N3E en densidad: sus ...
-
AMD compra World Labs por 8.200 millones para IA f...
-
Fabricante chino lanza una fuente de 230W de poten...
-
Explotan vulnerabilidad crítica de día cero en Apple
-
Botnet Carbonato vulnera hosts de Docker para desp...
-
Filtración en Bitget: roban 387,5 millones vincula...
-
Vulnerabilidad en el SDK oficial de Python para MC...
-
Cierran popular app de IPTV pirata en Fire TV
-
Constructor de Python MaaS roba datos de 17 navega...
-
No necesitan entrar en la nube si pueden robar las...
-
Una GeForce RTX 4090 limitada al 80% de su potenci...
-
Ordenador de válvulas: tarda 15 minutos en arrancar
-
El DLSS 5 evoluciona en AMD: Radeon RX 9070 XT gan...
-
Fallo en OpenCode AI permite ejecutar código malic...
-
Windows 10 es más estable que Windows 11
-
Gobierno británico pide al personal dejar de agrad...
-
Nuevo ataque de inyección en Windows evade EDR sin...
-
Mejores reproductores de vídeo gratis para Android
-
Una RTX 5090 Aorus Waterforce WB tiene grietas en ...
-
InjectSetConsole: inyección de código remota optim...
-
Trucos para ver YouTube y otras plataformas si tie...
-
Todo sobre la GeForce RTX 6090
-
Más de 80.000 organizaciones sufrieron el robo de ...
-
El Ordenador Personal, revista mítica
-
MSI ve el AM4 como solución al MEMOpocalipsis
-
NVIDIA limita el control de sus agentes de IA
-
Usan fallo de GlobalProtect para enviar 2,4 millon...
-
Ranking de durabilidad de discos duros
-
GPT-6 Astra descifra en dos días un mensaje cripto...
-
OpenAI suspende parte de sus entrenamientos tras a...
-
Apple corrige fallo en CoreGraphics que pudo ser u...
-
NVIDIA lanza plataforma de seguridad para agentes ...
-
Roban dos remolques con logos de NVIDIA y PlusAI p...
-
PC Kubb Fanless Gold: mini PC custom hecho de oro ...
-
Las inundaciones de Tailandia amenazan al sector H...
-
Wireshark 4.6.9 corrige 19 vulnerabilidades, inclu...
-
Atacantes crean tiendas falsas de Jev AI para inte...
-
Minecraft lanza The Sift, su primera dimensión en ...
-
Vulnerabilidades críticas de ViewSonic vCast permi...
-
Copilot como sistema operativo: ¿Adiós a Windows 12?
-
PHP corrige error que enviaba credenciales a servi...
-
IA local modifica extractor de credenciales de Win...
-
Polémica por el diseño del Galaxy S27 Pro y Ultra
-
Llega el primer emulador de PS5 a 60 FPS
-
Hackeo a Renfe: 150 millones de datos robados con IA
-
Explotan vulnerabilidades RCE 0-Day en Citrix NetS...
-
Qualcomm apunta a los 5,4 GHz con su Snapdragon 8 ...
-
Meta lanza IA para crear juegos con texto
-
Opera automatiza su VPN en Wi-Fi públicas
-
GTA V y Resident Evil 4 corren en iPhone 18 Pro Max
-
IA acelera compilación de Linux a 10 segundos
-
Altar: IA local detecta fallos de seguridad
-
IA lleva herramienta antigua de Windows a macOS en...
-
Kiteworks recomienda a sus clientes suspender sist...
-
Países Bajos crea alternativa a Windows y Office
-
Alerta para administradores de Citrix: recomiendan...
-
Microsoft patentará IA para crear historias de vid...
-
Joven de 16 años halla falla en Microsoft que expo...
-
La CPU europea Rhea1 ya es una realidad: 80 núcleo...
-
Thermal Grizzly WireView Pro II Noctua Edition: ev...
-
Revolut prueba pagos con reconocimiento facial
-
Nueva semana y nueva filtración de datos para los ...
-
GTA VI: Coleccionista sin juego por 400 dólares
-
Microsoft halla grupo de ransomware con el mismo p...
-
Motorola Signature 27 traerá GrapheneOS
-
Vulnerabilidad en Sudo permite escalar privilegios
-
Vulnerabilidades críticas de ServiceNow permiten s...
-
Malware TWEAKOS usa Telegram como robador, C2 y me...
-
El malware PamStealer para macOS incorpora descifr...
-
Investigadores hallan botnet con agente de IA en s...
-
Agentes de IA maliciosos roban 600 mil tarjetas de...
-
Error desactiva licencias de Office antiguo
-
Premiere ya disponible gratis en Android
-
Dominios de prueba en documentación de desarrollo ...
-
Google cumple 28 años
-
Guía del nuevo FRITZ!Box 7-90
-
Sitios ucranianos vulnerados distribuyen falsos av...
-
Juegos de PS3 en Android ya disponibles
-
Gemini y Photoshop se integran totalmente
-
Lunex Stealer aprovecha un fallo en los controlado...
-
Publicidad en ChatGPT para usuarios gratis en Europa
-
¿Tiene sentido desconectar el 2G en tu móvil y pod...
-
Policía de Dyfed-Powys sufre ciberataque y podrían...
-
Troyano RemControl detectado en app IPTV popular e...
-
Windows Zenith: la alternativa a Linux para progra...
-
GitHub Actions comprometidas vuelven a estar activ...
-
NVIDIA advierte a laboratorios de IA sobre el cont...
-
NVIDIA DLSS 5 sube más de 10 °C la temperatura del...
-
ChatGPT Voice ya gestiona tu correo y agenda
-
Usaron fallo de Samsung para crear cryptominero en...
-
Un Cray-1 vuelve a la vida en Extremadura gracias ...
-
Australia sufre el «primer ataque de una IA contra...
-
TeamFiltration vulnera siete cuentas de Microsoft ...
-
Claude Code vuelve agotador el trabajo de un ingen...
-
Surge nuevo ransomware Galago vinculado a Panzer G...
-
17.000 URLs dejan al descubierto cómo ClickFix con...
-
Muse de Meta colapsa por alta demanda
-
Nuevo troyano de Android usa IA para robar PINs ba...
-
IA ayuda a robar 500 GB de Renfe
-
F-Droid 2.0: rediseño total tras 10 años
-
Gafas Meta VR: ultraestilizadas y caras
-
Microsoft reconstruye el SOC con agentes de IA, SI...
-
AnyPS5: juegos de PS5 en PC sin emulación
-
Meta Ads condujo a usuarios de Android en Polonia ...
-
Ubuntu cambia actualizaciones por errores de IA en...
-
Project Helix superará a PS6 en potencia y precio
-
Agentes de IA intentaron hackear webs públicas al ...
-
Vulnerabilidades sin parchear en OnePlus permiten ...
-
Gemini hace llamadas por ti
-
Malware MacSync roba criptomonedas y contraseñas e...
-
Amazon: activa las claves de acceso
-
DeepSeek agota stock de RTX 5090 en China
-
SMS fraudulentos persisten en DIGI
-
Microsoft confirma error de Windows 11 que causa p...
-
-
▼
septiembre
(Total:
869
)
-
►
2025
(Total:
2103
)
- ► septiembre (Total: 148 )
-
►
2024
(Total:
1110
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
vulnerabilidad
(
2025
)
seguridad
(
1927
)
software
(
1274
)
hardware
(
1000
)
google
(
816
)
Malware
(
711
)
privacidad
(
695
)
exploit
(
598
)
ransomware
(
551
)
Windows
(
521
)
android
(
504
)
linux
(
465
)
cve
(
380
)
nvidia
(
348
)
tutorial
(
300
)
manual
(
282
)
hacking
(
273
)
ssd
(
183
)
WhatsApp
(
173
)
ddos
(
143
)
Wifi
(
131
)
app
(
131
)
programación
(
128
)
cifrado
(
122
)
twitter
(
121
)
firmware
(
87
)
youtube
(
85
)
firefox
(
81
)
herramientas
(
80
)
Networking
(
73
)
adobe
(
72
)
sysadmin
(
72
)
office
(
63
)
antivirus
(
55
)
hack
(
54
)
javascript
(
52
)
Kernel
(
49
)
apache
(
48
)
juegos
(
42
)
contraseñas
(
39
)
cms
(
37
)
multimedia
(
36
)
flash
(
33
)
eventos
(
32
)
MAC
(
30
)
anonymous
(
28
)
ssl
(
24
)
conferencia
(
21
)
Forense
(
20
)
documental
(
18
)
SeguridadWireless
(
17
)
auditoría
(
16
)
Debugger
(
14
)
Rootkit
(
14
)
lizard squad
(
14
)
metasploit
(
13
)
técnicas hacking
(
13
)
Virtualización
(
11
)
delitos
(
11
)
reversing
(
10
)
adamo
(
9
)
Ehn-Dev
(
7
)
antimalware
(
7
)
MAC Adress
(
6
)
oclHashcat
(
5
)
Entradas populares
-
Se ha detectado una vulnerabilidad de seguridad de alta gravedad en Sudo (CVE-2026-96512) que podría permitir a atacantes locales evadir la...
-
Vladimir Putin votó electrónicamente usando un ordenador Dell con Windows 10 sin activar, ignorando la transición a Windows 11.
-
Ya hemos visto como oclHashcat permite ahora descifrar contraseñas de documentos PDF , o cómo desproteger y desbloquear un documento PDF co...
Explotan vulnerabilidad zero-day en Magento y Adobe Commerce para instalar puertas traseras en tiendas online
domingo, 6 de septiembre de 2026
|
Posted by
el-brujo
Se ha detectado una vulnerabilidad sin parchear llamada StyleSmuggler en Magento Open Source y Adobe Commerce que permite ejecutar código malicioso sin autenticación. El ataque instala una puerta trasera persistente en el servidor, afectando a múltiples versiones actuales. Como medida temporal, se recomienda desactivar GraphQL o aplicar mitigaciones externas hasta que Adobe publique una solución oficial.
Los atacantes están explotando una nueva vulnerabilidad sin parchear en Magento Open Source y Adobe Commerce que les permite ejecutar código malicioso en el servidor de una tienda online sin necesidad de iniciar sesión, según informó la empresa holandesa de seguridad de comercio electrónico Sansec en un aviso publicado el 5 de septiembre [https://sansec.io/research/stylesmuggler].
Sansec, que descubrió el fallo y lo llamó StyleSmuggler, afirmó que los ataques comenzaron el 4 de septiembre. "Sansec publica esto anticipadamente porque las tiendas están siendo comprometidas en este momento", señaló la empresa.
A fecha de 6 de septiembre, Adobe no ha publicado ningún aviso, identificador CVE, parche o solución alternativa, y su índice de boletines de seguridad de Adobe Commerce [https://helpx.adobe.com/security/products/magento.html] no muestra nada después de la actualización del 11 de agosto.
Un ataque exitoso otorga al atacante la ejecución de código en el servidor de la tienda e instala una puerta trasera (backdoor) persistente. Sansec afirmó que todas las versiones actuales están afectadas, incluida la 2.4.9, y que reprodujeron la cadena completa sin autenticación en instalaciones limpias de Magento Open Source 2.4.7, 2.4.8 y 2.4.9.
Su primera víctima utilizaba la versión 2.4.6-p15 con las actualizaciones de seguridad de julio y agosto de 2026 de Adobe aplicadas, que es el nivel de parche más reciente que Adobe ofrece para esa línea de lanzamiento y que el boletín de agosto de Adobe [https://helpx.adobe.com/security/products/magento/apsb26-92.html] etiqueta como 2.4.6-2026-aug.
Sansec no ha publicado una reproducción en Adobe Commerce ni en Adobe Commerce on Cloud, y Adobe no ha confirmado qué versiones están afectadas. Sansec tampoco ha dicho cuántas tiendas han sido comprometidas.
El consejo provisional de los investigadores para las tiendas que no utilicen su producto Shield es deshabilitar GraphQL hasta que Adobe publique una solución temporal.
Disrex Group, una empresa de hosting y desarrollo de Magento que respondió a dos de las tiendas comprometidas, señala que las tiendas "headless" y las aplicaciones web progresivas (PWA) requieren GraphQL, mientras que la mayoría de las tiendas clásicas y Hyvä no.
La próxima versión de seguridad programada de Adobe es el 8 de septiembre, dijo Sansec, y aún no se sabe si esa versión cubrirá este error.
Los hallazgos de Disrex son evidencia independiente de la explotación fuera de Sansec. En un repositorio de respuesta a incidentes [https://github.com/disrex-group/stylesmuggler-mitigation] publicado el 5 de septiembre, la empresa afirmó que gestionó dos tiendas comprometidas el 5 de septiembre y una tercera que fue atacada pero no vulnerada, y que sus reglas de servidor web se basan en el tráfico de ataque capturado en una de las tiendas comprometidas.
Esa tienda ejecutaba Magento 2.4.7-p2, un nivel de parche de seguridad que el historial de versiones de Adobe [https://experienceleague.adobe.com/en/docs/commerce-operations/release/versions] data de agosto de 2024, ocho niveles por detrás de la actual 2.4.7-p10. La tienda que Disrex etiqueta como "Tienda A" era cliente de Sansec Shield y fue atacada a las 23:10 UTC del 4 de septiembre, horas antes de que las primeras reglas de bloqueo de Sansec entraran en vigor.
El repositorio incluye su propia advertencia. "Este repositorio fue escrito con asistencia de IA, durante un incidente en vivo, en pocas horas", dice su README, añadiendo que no ha sido revisado, que sus reglas de Apache nunca se ejecutaron contra un servidor Apache real y que la mayoría de sus comandos de limpieza fueron escritos en lugar de ejecutados.
Los indicadores de Sansec describen el implante como un proceso en segundo plano disfrazado bajo [kworker/u:8:0], un nombre que pertenece a un hilo del kernel de Linux, con un binario instalado en ~/.local/share/.gvfsd/gvfsd-user bajo el directorio personal del usuario del sitio en lugar de la raíz web, y una entrada de cron que lo reinicia cada cinco minutos.
Disrex describió el binario como un programa de Rust vinculado estáticamente y "stripped" de aproximadamente 1.9 MB construido para x86-64 y arm64, y dijo que la entrada de cron se escribe directamente en el archivo spool bajo /var/spool/cron/crontabs/, por lo que el registro del sistema no muestra el reemplazo de crontab.
Una tienda tenía la misma línea 1,728 veces, y el implante la volvía a añadir un segundo después de ser eliminada.
En una de las dos tiendas, el implante no realizó ninguna conexión saliente. Mantenía 28 conexiones a la propia instancia de Redis de la tienda en el puerto 6379. Leyó el almacenamiento de sesiones de Magento desde allí, dijo Disrex, y ninguna de sus dos capturas de paquetes, cada una de más de 200 MB, contenía un solo paquete hacia el host de descarga o la dirección de comando y control que Sansec enumeró.
Sansec dijo que para los clientes de Shield atacados antes de que sus reglas entraran en vigor, no tiene indicios de que la puerta trasera haya sido utilizada realmente, y recomendó rotar las credenciales de Magento donde se haya identificado el proceso.
El ataque funciona en dos etapas, según el esquema de Sansec. Primero planta código PHP en un archivo que el propio Magento escribe, por ejemplo, al generar un informe de fallos. Luego hace que Magento ejecute ese archivo activando el correo electrónico estándar de la plataforma "Recordatorio de transacción de pago fallida". El código se ejecuta mientras Magento renderiza el mensaje, por lo que nadie tiene que abrirlo, y el ataque puede tener éxito incluso si la entrega del correo electrónico falla.
Sansec aún no ha publicado la cadena completa del exploit y dijo que el desglose de la cadena, el dropper y el implante vendrán en una actualización.
La lectura de Disrex sobre la cadena, publicada en un análisis del mecanismo [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/HOW-IT-WORKS.md] junto con sus reglas, es que una directiva dentro del texto inyectado impulsa una secuencia de clases propias de Magento hacia un código que existe únicamente para servir al compilador de inyección de dependencias de línea de comandos.
Ese código termina incluyendo una ruta de archivo elegida por el atacante: el log envenenado un momento antes. El dropper PHP ejecutado intenta seis funciones PHP en orden para iniciar un proceso, luego descarga y lanza el implante. Disrex menciona tres archivos bajo setup/src/Magento/Setup/Module/Di/Code/ como el punto donde termina la cadena. Sansec no ha confirmado esa lectura y Disrex no publica la solicitud ensamblada.
Dos ubicaciones son importantes para la primera etapa. La comprobación publicada por Sansec busca en var/report/ el marcador X_TRACE_. Disrex dijo que ambas infecciones fueron envenenadas a través de var/log/system.log en su lugar y habrían pasado desapercibidas con esa comprobación, por lo que es necesario buscar en ambos directorios.
El marcador ya ha variado: Disrex vio un encabezado de activación de la forma X-TRACE- seguido de diez caracteres hexadecimales la mañana del 5 de septiembre y el mismo encabezado sin la palabra TRACE por la tarde, por lo que la búsqueda debe coincidir con la forma más que con la cadena exacta.
Un TypeError de array_merge() con un argumento entero en system.log, inmediatamente después del "include", es evidencia de que el exploit tuvo éxito, dijo Disrex. Sin embargo, una variante más sigilosa devuelve un array vacío y no deja nada en el log.
Para el proceso, Disrex dijo que un hilo genuino del kernel es propiedad de root y no tiene memoria residente, por lo que un nombre entre corchetes en el usuario del sitio con uso de memoria real es el implante. El implante establece su línea de comandos como la cadena literal entre corchetes, por lo que una comprobación escrita contra el campo comm del proceso no coincide con nada.
Disrex también descubrió que el binario ejecutándose en memoria en una tienda era una compilación diferente al archivo en disco, y aconseja realizar el hash del proceso en ejecución desde /proc/<pid>/exe así como del archivo. Ráfagas inesperadas de correos de "Recordatorio de transacción de pago fallida" son una razón para investigar, dijo Sansec, aunque los pagos rechazados legítimos generan la misma notificación.
Los siguientes indicadores han sido publicados por Sansec y en la lista de indicadores de Disrex [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/IOC.md]:
- Proceso: [kworker/u:8:0] propiedad de un usuario que no sea root
- Archivo: ~/.local/share/.gvfsd/gvfsd-user
- Archivo: ~/.local/share/.gvfsd/.gvfsd_<8hex>.lock
- Archivo: /tmp/.gvfsd_<8hex>.lock
- Archivo: /tmp/.kw_<random><random>
- Cron: */5 * * * * exec <home>/.local/share/.gvfsd/gvfsd-user, con una variante que apunta a /tmp/.kw_
- SHA-256: e315687a1dfe61ef4a5a5642214db6d3b2b05d81391285eebc2af664641a26a7 (muestra de Sansec)
- SHA-256: 8334b434fa3fe9f59cebe9609b11e0b1fd19d10212c45c705adec1902a1d06ef (en disco en ambas tiendas de Disrex)
- SHA-256: 251fabd50d7b18a8b5e1b3ef5d64e7198c17244778f6461fb1ab07f6169bf220 (ejecutándose en memoria en una tienda de Disrex)
- Dominio: 247.cdnflare[.]xyz (host de descarga de malware)
- IP: 99.84.67[.]186:443 (comando y control sobre WebSocket y TLS, según Sansec)
- IP: 88.216.72[.]181 (fuente del atacante, según Sansec)
- IP: 5.181.86[.]133 (fuente del atacante enviando en masa, según Disrex)
Sansec recomienda su escáner eComscan para detectar el implante, y dijo que la versión 1.9.7 terminará el proceso para los clientes de Shield.
Disrex informó el resultado opuesto para una tienda: eComscan se ejecutó con sus comprobaciones de procesos en segundo plano y tareas programadas habilitadas mientras el implante estaba activo, con 1,728 líneas de cron presentes, y reportó la tienda como limpia. Disrex no dijo qué versión de eComscan se ejecutó ni cuándo.
No hay un parche del proveedor para instalar. Hasta que Adobe envíe uno, las opciones son el cierre temporal de GraphQL de Sansec; tres mitigaciones no oficiales publicadas por Disrex, ProxiBlue y Graycore; y dos configuraciones de servidor que no dependen del fallo.
Disrex publicó reglas de nginx y Apache que bloquean las solicitudes que llevan los parámetros del exploit en la cadena de consulta de la URL. Su propia prueba en una tienda real mostró el límite: los mismos parámetros enviados en un cuerpo POST llegaron a PHP, al igual que un cuerpo JSON, porque nginx y Apache inspeccionan solo la cadena de consulta, dijo Disrex. Disrex describe las reglas como una forma de detener la campaña tal como se ejecuta actualmente, más que la vulnerabilidad en sí.
La mitigación principal de Disrex añade una comprobación a tres métodos en los escáneres de código de inyección de dependencias de Magento, evitando que se ejecuten fuera de la línea de comandos. La edición manual es revertida por cada "composer install", por lo que Disrex también lo entrega como un parche de fuente de composer-patches [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/patches/README.md] que se reaplica al desplegar y, según indica, se aplica sin cambios desde la 2.4.6 hasta la 2.4.9.
Uno de los tres archivos, ClassesScanner.php, es llamado a través de HTTP por al menos un módulo de terceros, mageplaza/module-admin-permissions, y protegerlo rompe la pantalla de administración de ese módulo, por lo que Disrex dice a los administradores que busquen en su directorio vendor antes de tocarlo.
El protector fue probado en un entorno de pruebas en lugar de dentro de una tienda en funcionamiento, y Disrex dice que no es una solución completa por sí sola. Un usuario de GitHub, ProxiBlue, publicó el mismo protector el 5 de septiembre, junto con tres parches no oficiales [https://gist.github.com/ProxiBlue/07373c92c8c70dc746bbfdcd1f07b789]. Ni Sansec ni Adobe han confirmado que estos escáneres sean donde termina la cadena.
Graycore, LLC publicó un módulo de Magento [https://github.com/graycoreio/magento2-style-smuggler-patch] en GitHub y Packagist el 5 de septiembre cuyo código actual, dice Graycore, refuerza tres puntos de la cadena: la directiva de bloque de plantilla de correo electrónico rechaza bloques de backend, el generador de URL de fila de cuadrícula comprueba una clase antes de construirla y las etiquetas de apertura de PHP en los informes de error fatal de la Web API están rotas.
La versión en Packagist al momento de escribir esto era un lanzamiento anterior cuya única mitigación se dirigía a un resolutor de GraphQL de PayPal que ha sido eliminado desde entonces. El README dice "Eso es un refuerzo, no una solución" y advierte que otras rutas a través de la vulnerabilidad permanecen abiertas y que una tienda puede estar ya comprometida.
Dos configuraciones de servidor no dependen en absoluto de conocer la cadena, dijo Disrex. En una de sus dos tiendas, las primeras cuatro de las seis funciones PHP que el dropper intentó estaban deshabilitadas; proc_open no lo estaba y el dropper la usó para iniciar el implante, y open_basedir no hizo nada para contener el proceso hijo.
Añadir proc_open a las disable_functions de PHP, y montar /tmp, /var/tmp y /dev/shm con noexec para que un binario descargado no pueda ejecutarse, son las capas que Disrex coloca antes de cada regla en su repositorio.
Para una tienda que ya esté infectada, la guía de limpieza de Disrex [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/CLEANUP.md] establece el orden: preservar la evidencia primero, eliminar la entrada de cron antes de matar el proceso porque el proceso la restaura, no reiniciar porque la copia bajo /proc puede ser el único binario restante, y no ejecutar "composer install" para limpiar porque sobrescribe las marcas de tiempo que muestran qué fue tocado.
Luego recomienda vaciar el almacenamiento de sesiones ya que el implante lo leyó, y rotar la crypt/key en app/etc/env.php, así como cada contraseña de administrador, cada clave API de proveedor de pago y cada otra credencial de integración en ese archivo.
Los proveedores de hosting Nexcess y Liquid Web publicaron avisos de incidentes idénticos el 5 de septiembre, afirmando que estaban revisando sus entornos de servidor e implementando medidas preventivas [https://status.nexcess.net/].
Ninguno afirma un compromiso confirmado de clientes o su propia reproducción del fallo. Disrex registró 26 direcciones de origen distintas en sus dos tiendas, dos de ellas infraestructuras de hosting enviando en masa y el resto un grupo de proxies residenciales enviando de dos a seis solicitudes cada una, y dijo que bloquear la única dirección de atacante en el aviso de Sansec habría detenido menos de una cuarta parte del tráfico que vio. Ninguna fuente ha identificado a los atacantes.
Fuente:
THN
Los atacantes están explotando una nueva vulnerabilidad sin parchear en Magento Open Source y Adobe Commerce que les permite ejecutar código malicioso en el servidor de una tienda online sin necesidad de iniciar sesión, según informó la empresa holandesa de seguridad de comercio electrónico Sansec en un aviso publicado el 5 de septiembre [https://sansec.io/research/stylesmuggler].Sansec, que descubrió el fallo y lo llamó StyleSmuggler, afirmó que los ataques comenzaron el 4 de septiembre. "Sansec publica esto anticipadamente porque las tiendas están siendo comprometidas en este momento", señaló la empresa.
A fecha de 6 de septiembre, Adobe no ha publicado ningún aviso, identificador CVE, parche o solución alternativa, y su índice de boletines de seguridad de Adobe Commerce [https://helpx.adobe.com/security/products/magento.html] no muestra nada después de la actualización del 11 de agosto.
Un ataque exitoso otorga al atacante la ejecución de código en el servidor de la tienda e instala una puerta trasera (backdoor) persistente. Sansec afirmó que todas las versiones actuales están afectadas, incluida la 2.4.9, y que reprodujeron la cadena completa sin autenticación en instalaciones limpias de Magento Open Source 2.4.7, 2.4.8 y 2.4.9.
Su primera víctima utilizaba la versión 2.4.6-p15 con las actualizaciones de seguridad de julio y agosto de 2026 de Adobe aplicadas, que es el nivel de parche más reciente que Adobe ofrece para esa línea de lanzamiento y que el boletín de agosto de Adobe [https://helpx.adobe.com/security/products/magento/apsb26-92.html] etiqueta como 2.4.6-2026-aug.
Sansec no ha publicado una reproducción en Adobe Commerce ni en Adobe Commerce on Cloud, y Adobe no ha confirmado qué versiones están afectadas. Sansec tampoco ha dicho cuántas tiendas han sido comprometidas.
El consejo provisional de los investigadores para las tiendas que no utilicen su producto Shield es deshabilitar GraphQL hasta que Adobe publique una solución temporal.
Disrex Group, una empresa de hosting y desarrollo de Magento que respondió a dos de las tiendas comprometidas, señala que las tiendas "headless" y las aplicaciones web progresivas (PWA) requieren GraphQL, mientras que la mayoría de las tiendas clásicas y Hyvä no.
Próximos pasos y evidencias
La próxima versión de seguridad programada de Adobe es el 8 de septiembre, dijo Sansec, y aún no se sabe si esa versión cubrirá este error.
Los hallazgos de Disrex son evidencia independiente de la explotación fuera de Sansec. En un repositorio de respuesta a incidentes [https://github.com/disrex-group/stylesmuggler-mitigation] publicado el 5 de septiembre, la empresa afirmó que gestionó dos tiendas comprometidas el 5 de septiembre y una tercera que fue atacada pero no vulnerada, y que sus reglas de servidor web se basan en el tráfico de ataque capturado en una de las tiendas comprometidas.
Esa tienda ejecutaba Magento 2.4.7-p2, un nivel de parche de seguridad que el historial de versiones de Adobe [https://experienceleague.adobe.com/en/docs/commerce-operations/release/versions] data de agosto de 2024, ocho niveles por detrás de la actual 2.4.7-p10. La tienda que Disrex etiqueta como "Tienda A" era cliente de Sansec Shield y fue atacada a las 23:10 UTC del 4 de septiembre, horas antes de que las primeras reglas de bloqueo de Sansec entraran en vigor.
El repositorio incluye su propia advertencia. "Este repositorio fue escrito con asistencia de IA, durante un incidente en vivo, en pocas horas", dice su README, añadiendo que no ha sido revisado, que sus reglas de Apache nunca se ejecutaron contra un servidor Apache real y que la mayoría de sus comandos de limpieza fueron escritos en lugar de ejecutados.
Los indicadores de Sansec describen el implante como un proceso en segundo plano disfrazado bajo [kworker/u:8:0], un nombre que pertenece a un hilo del kernel de Linux, con un binario instalado en ~/.local/share/.gvfsd/gvfsd-user bajo el directorio personal del usuario del sitio en lugar de la raíz web, y una entrada de cron que lo reinicia cada cinco minutos.
Disrex describió el binario como un programa de Rust vinculado estáticamente y "stripped" de aproximadamente 1.9 MB construido para x86-64 y arm64, y dijo que la entrada de cron se escribe directamente en el archivo spool bajo /var/spool/cron/crontabs/, por lo que el registro del sistema no muestra el reemplazo de crontab.
Una tienda tenía la misma línea 1,728 veces, y el implante la volvía a añadir un segundo después de ser eliminada.
En una de las dos tiendas, el implante no realizó ninguna conexión saliente. Mantenía 28 conexiones a la propia instancia de Redis de la tienda en el puerto 6379. Leyó el almacenamiento de sesiones de Magento desde allí, dijo Disrex, y ninguna de sus dos capturas de paquetes, cada una de más de 200 MB, contenía un solo paquete hacia el host de descarga o la dirección de comando y control que Sansec enumeró.Sansec dijo que para los clientes de Shield atacados antes de que sus reglas entraran en vigor, no tiene indicios de que la puerta trasera haya sido utilizada realmente, y recomendó rotar las credenciales de Magento donde se haya identificado el proceso.
El ataque funciona en dos etapas, según el esquema de Sansec. Primero planta código PHP en un archivo que el propio Magento escribe, por ejemplo, al generar un informe de fallos. Luego hace que Magento ejecute ese archivo activando el correo electrónico estándar de la plataforma "Recordatorio de transacción de pago fallida". El código se ejecuta mientras Magento renderiza el mensaje, por lo que nadie tiene que abrirlo, y el ataque puede tener éxito incluso si la entrega del correo electrónico falla.
Sansec aún no ha publicado la cadena completa del exploit y dijo que el desglose de la cadena, el dropper y el implante vendrán en una actualización.
La lectura de Disrex sobre la cadena, publicada en un análisis del mecanismo [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/HOW-IT-WORKS.md] junto con sus reglas, es que una directiva dentro del texto inyectado impulsa una secuencia de clases propias de Magento hacia un código que existe únicamente para servir al compilador de inyección de dependencias de línea de comandos.
Ese código termina incluyendo una ruta de archivo elegida por el atacante: el log envenenado un momento antes. El dropper PHP ejecutado intenta seis funciones PHP en orden para iniciar un proceso, luego descarga y lanza el implante. Disrex menciona tres archivos bajo setup/src/Magento/Setup/Module/Di/Code/ como el punto donde termina la cadena. Sansec no ha confirmado esa lectura y Disrex no publica la solicitud ensamblada.
Dos ubicaciones son importantes para la primera etapa. La comprobación publicada por Sansec busca en var/report/ el marcador X_TRACE_. Disrex dijo que ambas infecciones fueron envenenadas a través de var/log/system.log en su lugar y habrían pasado desapercibidas con esa comprobación, por lo que es necesario buscar en ambos directorios.
El marcador ya ha variado: Disrex vio un encabezado de activación de la forma X-TRACE- seguido de diez caracteres hexadecimales la mañana del 5 de septiembre y el mismo encabezado sin la palabra TRACE por la tarde, por lo que la búsqueda debe coincidir con la forma más que con la cadena exacta.
Un TypeError de array_merge() con un argumento entero en system.log, inmediatamente después del "include", es evidencia de que el exploit tuvo éxito, dijo Disrex. Sin embargo, una variante más sigilosa devuelve un array vacío y no deja nada en el log.
Para el proceso, Disrex dijo que un hilo genuino del kernel es propiedad de root y no tiene memoria residente, por lo que un nombre entre corchetes en el usuario del sitio con uso de memoria real es el implante. El implante establece su línea de comandos como la cadena literal entre corchetes, por lo que una comprobación escrita contra el campo comm del proceso no coincide con nada.
Disrex también descubrió que el binario ejecutándose en memoria en una tienda era una compilación diferente al archivo en disco, y aconseja realizar el hash del proceso en ejecución desde /proc/<pid>/exe así como del archivo. Ráfagas inesperadas de correos de "Recordatorio de transacción de pago fallida" son una razón para investigar, dijo Sansec, aunque los pagos rechazados legítimos generan la misma notificación.
Los siguientes indicadores han sido publicados por Sansec y en la lista de indicadores de Disrex [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/IOC.md]:
- Proceso: [kworker/u:8:0] propiedad de un usuario que no sea root
- Archivo: ~/.local/share/.gvfsd/gvfsd-user
- Archivo: ~/.local/share/.gvfsd/.gvfsd_<8hex>.lock
- Archivo: /tmp/.gvfsd_<8hex>.lock
- Archivo: /tmp/.kw_<random><random>
- Cron: */5 * * * * exec <home>/.local/share/.gvfsd/gvfsd-user, con una variante que apunta a /tmp/.kw_
- SHA-256: e315687a1dfe61ef4a5a5642214db6d3b2b05d81391285eebc2af664641a26a7 (muestra de Sansec)
- SHA-256: 8334b434fa3fe9f59cebe9609b11e0b1fd19d10212c45c705adec1902a1d06ef (en disco en ambas tiendas de Disrex)
- SHA-256: 251fabd50d7b18a8b5e1b3ef5d64e7198c17244778f6461fb1ab07f6169bf220 (ejecutándose en memoria en una tienda de Disrex)
- Dominio: 247.cdnflare[.]xyz (host de descarga de malware)
- IP: 99.84.67[.]186:443 (comando y control sobre WebSocket y TLS, según Sansec)
- IP: 88.216.72[.]181 (fuente del atacante, según Sansec)
- IP: 5.181.86[.]133 (fuente del atacante enviando en masa, según Disrex)
Sansec recomienda su escáner eComscan para detectar el implante, y dijo que la versión 1.9.7 terminará el proceso para los clientes de Shield.
Disrex informó el resultado opuesto para una tienda: eComscan se ejecutó con sus comprobaciones de procesos en segundo plano y tareas programadas habilitadas mientras el implante estaba activo, con 1,728 líneas de cron presentes, y reportó la tienda como limpia. Disrex no dijo qué versión de eComscan se ejecutó ni cuándo.
No hay un parche del proveedor para instalar. Hasta que Adobe envíe uno, las opciones son el cierre temporal de GraphQL de Sansec; tres mitigaciones no oficiales publicadas por Disrex, ProxiBlue y Graycore; y dos configuraciones de servidor que no dependen del fallo.
Disrex publicó reglas de nginx y Apache que bloquean las solicitudes que llevan los parámetros del exploit en la cadena de consulta de la URL. Su propia prueba en una tienda real mostró el límite: los mismos parámetros enviados en un cuerpo POST llegaron a PHP, al igual que un cuerpo JSON, porque nginx y Apache inspeccionan solo la cadena de consulta, dijo Disrex. Disrex describe las reglas como una forma de detener la campaña tal como se ejecuta actualmente, más que la vulnerabilidad en sí.
La mitigación principal de Disrex añade una comprobación a tres métodos en los escáneres de código de inyección de dependencias de Magento, evitando que se ejecuten fuera de la línea de comandos. La edición manual es revertida por cada "composer install", por lo que Disrex también lo entrega como un parche de fuente de composer-patches [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/patches/README.md] que se reaplica al desplegar y, según indica, se aplica sin cambios desde la 2.4.6 hasta la 2.4.9.
Uno de los tres archivos, ClassesScanner.php, es llamado a través de HTTP por al menos un módulo de terceros, mageplaza/module-admin-permissions, y protegerlo rompe la pantalla de administración de ese módulo, por lo que Disrex dice a los administradores que busquen en su directorio vendor antes de tocarlo.
El protector fue probado en un entorno de pruebas en lugar de dentro de una tienda en funcionamiento, y Disrex dice que no es una solución completa por sí sola. Un usuario de GitHub, ProxiBlue, publicó el mismo protector el 5 de septiembre, junto con tres parches no oficiales [https://gist.github.com/ProxiBlue/07373c92c8c70dc746bbfdcd1f07b789]. Ni Sansec ni Adobe han confirmado que estos escáneres sean donde termina la cadena.
Graycore, LLC publicó un módulo de Magento [https://github.com/graycoreio/magento2-style-smuggler-patch] en GitHub y Packagist el 5 de septiembre cuyo código actual, dice Graycore, refuerza tres puntos de la cadena: la directiva de bloque de plantilla de correo electrónico rechaza bloques de backend, el generador de URL de fila de cuadrícula comprueba una clase antes de construirla y las etiquetas de apertura de PHP en los informes de error fatal de la Web API están rotas.
La versión en Packagist al momento de escribir esto era un lanzamiento anterior cuya única mitigación se dirigía a un resolutor de GraphQL de PayPal que ha sido eliminado desde entonces. El README dice "Eso es un refuerzo, no una solución" y advierte que otras rutas a través de la vulnerabilidad permanecen abiertas y que una tienda puede estar ya comprometida.
Dos configuraciones de servidor no dependen en absoluto de conocer la cadena, dijo Disrex. En una de sus dos tiendas, las primeras cuatro de las seis funciones PHP que el dropper intentó estaban deshabilitadas; proc_open no lo estaba y el dropper la usó para iniciar el implante, y open_basedir no hizo nada para contener el proceso hijo.
Añadir proc_open a las disable_functions de PHP, y montar /tmp, /var/tmp y /dev/shm con noexec para que un binario descargado no pueda ejecutarse, son las capas que Disrex coloca antes de cada regla en su repositorio.
Para una tienda que ya esté infectada, la guía de limpieza de Disrex [https://github.com/disrex-group/stylesmuggler-mitigation/blob/main/CLEANUP.md] establece el orden: preservar la evidencia primero, eliminar la entrada de cron antes de matar el proceso porque el proceso la restaura, no reiniciar porque la copia bajo /proc puede ser el único binario restante, y no ejecutar "composer install" para limpiar porque sobrescribe las marcas de tiempo que muestran qué fue tocado.
Luego recomienda vaciar el almacenamiento de sesiones ya que el implante lo leyó, y rotar la crypt/key en app/etc/env.php, así como cada contraseña de administrador, cada clave API de proveedor de pago y cada otra credencial de integración en ese archivo.
Los proveedores de hosting Nexcess y Liquid Web publicaron avisos de incidentes idénticos el 5 de septiembre, afirmando que estaban revisando sus entornos de servidor e implementando medidas preventivas [https://status.nexcess.net/].
Ninguno afirma un compromiso confirmado de clientes o su propia reproducción del fallo. Disrex registró 26 direcciones de origen distintas en sus dos tiendas, dos de ellas infraestructuras de hosting enviando en masa y el resto un grupo de proxies residenciales enviando de dos a seis solicitudes cada una, y dijo que bloquear la única dirección de atacante en el aviso de Sansec habría detenido menos de una cuarta parte del tráfico que vio. Ninguna fuente ha identificado a los atacantes.
Fuente:
THN
Enviar por correo electrónico
Escribe un blog
Compartir en X
Compartir con Facebook
Compartir en Pinterest
Entrada más reciente
0 comments :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.