React2Shell (CVE-2025-55182): ataques a Next.js con el nuevo malware EtherRAT

CyberSecureFox 🦊

A los pocos días de hacerse pública la vulnerabilidad crítica React2Shell (CVE-2025-55182), investigadores de Sysdig han observado su explotación activa contra aplicaciones Next.js para desplegar un nuevo malware orientado a Linux denominado EtherRAT. Esta campaña combina una vulnerabilidad de remote code execution (RCE), un entorno Node.js encubierto y el uso de smart contracts de Ethereum como canal de mando y control (C2).

React2Shell (CVE-2025-55182): vulnerabilidad crítica en React y Next.js

React2Shell es una falla de ejecución remota de código en React Server Components, asociada a deserialización insegura. Con una puntuación CVSS de 10.0, permite que un atacante ejecute código arbitrario mediante una simple petición HTTP, sin autenticación ni privilegios previos en el servidor.

El fallo afecta a versiones recientes de React —19.0, 19.1.0, 19.1.1 y 19.2.0 en su configuración por defecto— así como al popular framework Next.js. Los parches ya están disponibles en React 19.0.1, 19.1.2, 19.2.1 y versiones corregidas de Next.js, pero un número significativo de aplicaciones continúa expuesto en internet, lo que facilita las campañas de explotación masiva.

Según Sysdig, al menos dos grupos de origen chino, Earth Lamia y Jackpot Panda, están aprovechando activamente CVE-2025-55182, con más de 30 organizaciones comprometidas hasta la fecha. Además, se advierte de posibles vulnerabilidades similares en otras implementaciones de React Server, como Vite RSC plugin, Parcel RSC plugin, React Router RSC preview, RedwoodSDK y Waku.

Cadena de ataque: de una petición HTTP a un entorno Node.js oculto

La intrusión comienza con la explotación de React2Shell, que lanza un comando de shell codificado en base64. Su objetivo es descargar un script s.sh a través de curl, wget o python3. La orden se reintenta cada 300 segundos hasta que la descarga tiene éxito, momento en el que el script se marca como ejecutable y se inicia.

El script crea un directorio oculto en $HOME/.local/share/ y descarga desde nodejs.org un binario legítimo de Node.js 20.10.0. En esa misma ruta guarda un payload cifrado y un dropper en JavaScript ofuscado, que se ejecuta mediante el Node.js recién instalado. Posteriormente, s.sh se elimina para reducir las evidencias forenses.

El dropper descifra el blob malicioso con una clave AES-256-CBC embebida en el código, escribe el resultado como otro archivo JavaScript oculto y lo lanza de nuevo con Node.js. Ese componente final es EtherRAT, un malware de propósito general ejecutado íntegramente en el entorno Node.js.

EtherRAT: malware Node.js con smart contracts de Ethereum como C2

La característica más destacada de EtherRAT es el uso de smart contracts de Ethereum como infraestructura C2. El malware consulta en paralelo a nueve proveedores públicos de Ethereum RPC y adopta la respuesta mayoritaria, técnica que dificulta el bloqueo mediante el secuestro de una sola node o campañas de sinkholing.

Cada 500 milisegundos, EtherRAT genera URL aleatorizadas que simulan dominios de CDN, se comunica con el servidor de mando y ejecuta en memoria el JavaScript obtenido usando AsyncFunction. Este enfoque proporciona a los atacantes un shell interactivo de Node.js, con capacidad para cambiar dinámicamente funciones y cargas útiles sin necesidad de escribir nuevos archivos en disco.

Este patrón encaja con la tendencia de “EtherHiding”, ya documentada por Google y GuardioLabs, donde el blockchain se explota como canal resistente a la censura. Sysdig observa similitudes entre el cargador cifrado de EtherRAT y el malware BeaverTail utilizado en la campaña Contagious Interview, lo que sugiere una posible vinculación con el grupo norcoreano Lazarus.

Persistencia en Linux y capacidades de autoactualización de EtherRAT

En sistemas Linux, EtherRAT implementa cinco mecanismos de persistencia en paralelo (por ejemplo, tareas programadas, scripts de inicio y otros puntos de autolanzamiento del sistema). Esta redundancia permite que el acceso malicioso sobreviva a reinicios y tareas de mantenimiento, y hace insuficiente la simple eliminación de un proceso o archivo concreto.

Otra capacidad relevante es su función de autoactualización. El malware envía su propio código a un endpoint de API remoto y recibe una versión modificada con la misma funcionalidad pero distinta ofuscación. A continuación se sobreescribe a sí mismo y arranca un nuevo proceso. Esto reduce la eficacia de las firmas estáticas, complica el análisis y facilita agregar rápidamente nuevas capacidades dirigidas a objetivos específicos.

Medidas de mitigación y recomendaciones para organizaciones

Las organizaciones que utilizan React, Next.js y React Server Components, especialmente en entornos Linux y nubes públicas, deben priorizar acciones inmediatas. En primer lugar, es crítico actualizar a React 19.0.1, 19.1.2, 19.2.1 y a las versiones corregidas de Next.js, además de auditar bibliotecas relacionadas en busca de deserialización insegura.

Asimismo, se recomienda revisar los servidores en busca de directorios ocultos en $HOME/.local/share/, instalaciones inesperadas de Node.js, rastros de archivos como s.sh y procesos de Node ejecutados por cuentas de servicio de aplicaciones. Es esencial inspeccionar los mecanismos de arranque automático del sistema para detectar los patrones de persistencia descritos por Sysdig y correlacionar la infraestructura con los indicadores de compromiso publicados.

Finalmente, resulta aconsejable monitorizar y, cuando sea viable, restringir el tráfico hacia proveedores públicos de Ethereum RPC desde servidores de aplicaciones, además de aplicar rotación periódica de credenciales y tokens. La combinación de React2Shell y EtherRAT evidencia la necesidad de integrar gestión de vulnerabilidades, prácticas de desarrollo seguro y monitorización continua. Invertir ahora en estos controles reduce drásticamente el riesgo de que ataques híbridos basados en blockchain deriven en compromisos prolongados de sistemas críticos.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.