Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-55182-React2Shell — React2Shell (CVE-2025-55182) exploit de prueba de concepto (PoC) que demuestra una vulnerabilidad CRÍTICA de ejecución remota de código (RCE) en marcos web modernos que utilizan React Server Components (RSC). | Kitploit
Herramientas/GitHubGitHub/rsch-io/cve-2025-55182-react2shell
Generación de PayloadsExplotaciónExplotación de Aplicaciones WebEvasión de WAFPruebas de PenetraciónAprendizaje y EducaciónRed Teaming
GitHubrsch-io/cve-2025-55182-react2shell

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

CVE-2025-55182-React2Shell

React2Shell (CVE-2025-55182) exploit de prueba de concepto (PoC) que demuestra una vulnerabilidad CRÍTICA de ejecución remota de código (RCE) en marcos web modernos que utilizan React Server Components (RSC).

Ver Repositorio
114hace 9 mesesAún no revisado
Compartir

React2Shell

Language CVE CVSS Target License

React2Shell es una prueba de concepto (PoC) de explotación que demuestra una vulnerabilidad CRÍTICA de ejecución remota de código (RCE) en marcos web modernos que usan React Server Components (RSC).

Esta PoC ataca CVE-2025-55182, una vulnerabilidad con CVSS 10.0 que permite a ejecutar comandos arbitrarios del sistema mediante deserialización insegura dentro de la implementación de React Server Components.

atacantes remotos no autenticados

🔍 Resumen de la vulnerabilidad

React2Shell explota una falla en cómo React Server Components procesa entradas no confiables durante la fase de rehidratación.

MétricaDetalles
GravedadCRITICAL (10.0 / 10.0)
VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Vector de ataqueRed (Remoto)
Interacción del usuarioNinguna

La vulnerabilidad se origina en los paquetes subyacentes react-server-dom-* responsables de serializar y deserializar los árboles de componentes.


💥 Impacto

Las aplicaciones que usan versiones afectadas de React Server Components pueden procesar cargas maliciosas de una manera que conduce a ejecución remota de código (RCE) bajo los privilegios del proceso servidor.

Un atacante puede:

  • Ejecutar comandos arbitrarios del sistema.
  • Pivotar hacia la infraestructura interna.
  • Exfiltrar datos sensibles.
  • Interrumpir la disponibilidad del servicio.

Si su despliegue coincide con alguna de las versiones vulnerables que se indican a continuación y expone endpoints RSC, usted es vulnerable.


📦 Componentes afectados

La vulnerabilidad está presente en las versiones 19.0.0, 19.1.0, 19.1.1 y 19.2.0 de:

  • react-server-dom-parcel
  • react-server-dom-webpack
  • react-server-dom-turbopack

🎯 Marcos y versiones afectados

Estos paquetes se incluyen en múltiples marcos, incluyendo pero no limitado a:

  • Next.js
    • Versiones 15.0.0 hasta 16.0.6
    • Versiones canary posteriores a 14.3.0-canary.76
  • Otros marcos que usan RSC (v19.0.0–19.2.0), como:
    • Vite
    • Parcel
    • React Router
    • RedwoodSDK
    • Waku

Cualquier marco que incorpore la implementación vulnerable de React Server Components está potencialmente afectado.


🛠 Funcionalidades y capacidades

React2Shell incluye un generador de cargas modulares diseñado para eludir restricciones comunes de Node.js y reglas WAF:

  • Inyección estándar

    • Usa process.mainModule.require
    • Apunta a paquetes predeterminados de Next.js / Webpack.
  • By‑pass asíncrono

    • Usa import() dinámico para entornos ESM estrictos donde require no está disponible.
  • Ofuscación

    • Codifica cadenas sensibles (por ejemplo, child_process) en búferes hexadecimales para evadir firmas WAF simples.
  • Fallback de módulo

    • Aprovecha module.createRequire para cargar módulos en contextos alternativos.
  • Orientación universal

    • Endpoints configurables:
      • Next.js: raíz /
      • Waku: endpoints RSC como /RSC/foo.txt

🚀 Instalación

Requisitos previos

  • Node.js v18.0.0 o superior.

Configuración

root@kitploit:~
git clone https://github.com/rsch-io/CVE-2025-55182-React2Shell.git
cd CVE-2025-55182-React2Shell

npm install form-data

📖 Uso

React2Shell está diseñado para ser importado como un módulo en sus propios scripts de prueba.

1. Explotación básica (objetivo Next.js)

Cree un archivo llamado exploit.js:

root@kitploit:~
const React2Shell = require('./src/react2shell');

// Inicializar con la URL base del objetivo
const target = new React2Shell('http://localhost:3000');

// Ejecutar comando usando la estrategia "standard"
// Argumentos: execute(command, endpoint, strategy)
target.execute('whoami', '/', 'standard');

Luego ejecute:

root@kitploit:~
node exploit.js

Nota

  • endpoint debe configurarse en una ruta habilitada para RSC (por ejemplo, /, /RSC/foo.txt o endpoints RSC específicos del marco).
  • strategy puede cambiarse (por ejemplo, standard, async, obfuscated o cualquier otra estrategia implementada en react2shell).

2. Apuntar a Waku / endpoints personalizados

Waku y otros marcos a menudo exponen el manejo de RSC en rutas específicas:

root@kitploit:~
// Apuntar a una aplicación Waku
// Nota: Use la estrategia 'async' ya que Waku a menudo se ejecuta en ESM estricto
target.execute('ls -la', '/RSC/foo.txt', 'async');

3. Modo de evasión WAF

Si el servidor bloquea las cadenas que contienen child_process, puede usar la estrategia obfuscated:

root@kitploit:~
target.execute('cat /etc/passwd', '/', 'obfuscated');

🛡️ Resolución y remediación

Actualice inmediatamente. Los lanzamientos actualizados de React y los marcos descendientes afectados incluyen un manejo reforzado de las entradas del usuario para evitar comportamientos no deseados.
Todos los usuarios deben actualizar a una versión parcheada lo antes posible.

✅ Lista de versiones corregidas

A continuación se muestra la lista definitiva de versiones parcheadas. Si su versión desplegada es inferior a estas, usted es vulnerable.

Software / PaqueteRama / Tipo🛡️ Versión(es) corregida(s) / segura(s)
ReactStable19.0.1, 19.1.2, 19.2.1
Next.jsv15 (Stable)15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
Next.jsv16 (Stable)16.0.7
Next.jsCanary15.6.0-canary.58

Advertencia para usuarios de Next.js 14
Si está usando Next.js 14.3.0-canary.77 o una versión canary posterior, usted es vulnerable.
Debe degradar inmediatamente a la última versión estable 14.x, ya que la vulnerabilidad afecta la implementación experimental de RSC presente en esas compilaciones canary.


⚠️ Descargo de responsabilidad

Este proyecto se proporciona únicamente para fines educativos y de pruebas de seguridad autorizadas.
Usar esta herramienta contra sistemas sin permiso explícito es ilegal y poco ético.

El(los) autor(es) no asumen ninguna responsabilidad por el mal uso o los daños causados por esta herramienta.


📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo LICENSE para más detalles.

Descargar herramienta