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 — CVE-2025-55182 React RCE Programa de prueba | Kitploit
Herramientas/GitHubGitHub/theman001/cve-2025-55182
Escáneres de VulnerabilidadesGeneración de PayloadsExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubtheman001/cve-2025-55182

CVE-2025-55182

CVE-2025-55182 React RCE Programa de prueba

Ver Repositorio
2hace 1 mesAún no revisado

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 →
Compartir

CVE-2025-55182 (React2Shell)

Programa de prueba de RCE de React CVE-2025-55182

🔒 Escáner interactivo de RCE CVE-2025-55182

Este script es una herramienta de verificación de vulnerabilidades dirigida a CVE-2025-55182, una vulnerabilidad crítica de ejecución remota de código (RCE) presente en React Server Components (RSC) de React 19.x.

Esta herramienta determina si la vulnerabilidad existe en un servidor real y, según las opciones, puede ejecutar comandos, registrar logs o probar también mediante el método RCE de segunda etapa (module#_load).

⚠️ Esta herramienta debe utilizarse únicamente con fines de auditoría de seguridad y verificación de vulnerabilidades en un entorno de pruebas cerrado.


📋 Resumen de la vulnerabilidad React2Shell (CVE-2025-55182)

ElementoContenido
Número de vulnerabilidadCVE-2025-55182 (React) / CVE-2025-66478 (Next.js)
Nombre de la vulnerabilidadReact2Shell
Tipo de vulnerabilidadEjecución remota de código (RCE) – sin autenticación
Gravedad (CVSS)10.0 (Crítica)
Fecha de descubrimiento2025-11-29 (Lachlan Davidson)
Dificultad de ataqueMuy baja (nivel Log4Shell)
Descripción de la vulnerabilidadVulnerabilidad RCE estructural durante el proceso de deserialización de Flight que permite acceder a la cadena de prototipos (constructor, __proto__) mediante la notación de corchetes de la función requireModule()

🧱 Productos y versiones vulnerables

✅ Los proyectos con funcionalidad RSC deben actualizar también los módulos react-server-dom-* a su última versión, además de React, para estar seguros.


📚 Tabla de contenidos

  • 🗂️ Estructura de directorios
  • 🧩 Características principales
  • 📦 Instalación
  • 🚀 Ejemplos de ejecución
  • 💬 Ejemplo de entrada interactiva de comandos
  • ⚠️ Advertencias de seguridad
  • 📚 Referencia técnica
  • 📄 Licencia y condiciones de uso

🗂️ Estructura de directorios

root@kitploit:~
CVE-2025-55182/
├── README.md                     # 전체 개요 및 스캐너 사용법
├── DETECTION_RULES.md            # 탐지/차단용 규칙 모음
├── 설명 및 탐지규칙.md             # 한글 탐지 규칙 설명
├── cve_2025_55182_interactive.py # RCE 검증 스캐너 스크립트
├── requirements.txt              # 스캐너 의존성 목록
├── setup_vulnerable_env.sh       # 취약 환경 일괄 설치 스크립트
├── uninstall_vulnerable_env.sh   # 취약 환경 정리/제거 스크립트
└── vulnerable-react-env/         # React2Shell 취약 서버 실습용 코드
    ├── README.md                 # 실습 환경 사용법
    ├── package.json              # npm 스크립트 및 의존성
    ├── server.js                 # 취약한 Express 백엔드
    ├── public/
    │   └── index.html            # CDN 기반 React 프런트엔드
    └── .gitignore

🧩 Características principales

✅ Prueba interactiva de si el servidor vulnerable permite RCE
✅ Soporta el método child_process#execSync (predeterminado) o module#_load
✅ Guarda el resultado de la ejecución de comandos en un archivo de log
✅ Envía al servidor los comandos del sistema introducidos por el usuario


📦 Instalación

root@kitploit:~
git clone <this-repo>
cd <this-repo>
pip install -r requirements.txt

🚀 Ejemplos de ejecución

  1. Prueba RCE básica (método execSync)

    • Ejecución de comandos mediante child_process.execSync()
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce
  2. Prueba RCE de segunda etapa (método module#_load)

    • Genera un archivo JS malicioso y lo ejecuta mediante module#_load
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad
  3. Prueba RCE basada en RSC (opción --rce2)

    • Ejecución del payload a través de la ruta de procesamiento de componentes de servidor de Next.js
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce2
  4. Guardar el resultado de los comandos en un log

    • Guarda todos los resultados de los comandos en el archivo de log especificado
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --log rce_output.log

🚧 Entorno de práctica con servidor React vulnerable (OCI/Ubuntu)

La carpeta vulnerable-react-env contiene un servidor React + Express intencionalmente vulnerable que permite reproducir CVE-2025-55182.

  1. Configuración rápida automatizada (recomendado)
    • Al ejecutar ./setup_vulnerable_env.sh se completan de una vez: instalación de paquetes apt → instalación de nvm/Node.js 20 → npm install.
    • Al finalizar, ejecute el servidor con cd vulnerable-react-env && npm start o npm run dev.
    • ⚠️ Si escribe solo npm run, solo se mostrará la lista de scripts. Asegúrese de especificar el nombre del script, como npm start (o npm run start).
    • Para limpiar el entorno, ./uninstall_vulnerable_env.sh permite eliminar node_modules, el payload de moduleLoad y (opcionalmente) Node 20 y nvm.
    • ❗️ Si aparece un error de dependencias como ERR_MODULE_NOT_FOUND: Cannot find package 'express', instale node_modules con cd vulnerable-react-env && npm install y vuelva a ejecutar npm start.
  2. Configuración manual (alternativa)

⚠️ Prohibido su uso fuera de fines de investigación y educación. No lo exponga a Internet.


💬 Ejemplo de entrada interactiva de comandos

💬 Comando del sistema a introducir: whoami
✅ Código de respuesta: 200
📄 Contenido de la respuesta: {"success":true,"result":"www-data"}

💬 Comando del sistema a introducir: id
✅ Código de respuesta: 200
📄 Contenido de la respuesta: {"success":true,"result":"uid=1000(hacker) gid=1000(hacker)"}

💬 Comando del sistema a introducir: exit
👋 Saliendo.


⚠️ Advertencias de seguridad

❌ No lo utilice nunca en entornos de producción.
✅ Este script solo debe usarse en entornos de prueba locales o en una VM aislada.
🛠️ El método --method moduleLoad crea un archivo real en /tmp/evil.js.
🧾 Si se usa la opción --log, los resultados se guardan en texto plano; restrinja el acceso al archivo.
🔐 Todas las solicitudes verifican si realmente se ejecuta código JavaScript en el servidor vulnerable.


📚 Referencia técnica

  • CVE oficial: CVE-2025-55182

  • Métodos de explotación:

    1. child_process#execSync
    2. vm#runInThisContext
    3. fs#writeFileSync
    4. module#_load
  • Flujo del ataque:

    1. Envío de un multipart/form-data especial al endpoint /formaction
    2. El servidor llama a requireModule()
    3. La RCE se produce mediante la cadena de prototipos o la ejecución de funciones vinculadas

📄 Licencia y condiciones de uso

Este proyecto se ofrece únicamente con fines de investigación, auditoría y pruebas de seguridad.
El uso no autorizado contra sistemas reales es ilegal.

Toda responsabilidad legal derivada del uso de esta herramienta recae en el propio usuario.

Descargar herramienta
Producto/HerramientaVersión vulnerableVersión parcheada
React.js19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1, 19.1.2, 19.2.1
react-server-dom-webpackÍdem (↑)Ídem
react-server-dom-parcelÍdem (↑)Ídem
react-server-dom-turbopackÍdem (↑)Ídem
Next.js 14Algunas versiones desde 14.3.0.canary.77(Oficiosamente) se recomienda migrar a 15.0.5 o superior
Next.js 1515.0.0 ~ 15.5.615.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 15.6.0
Next.js 1616.0.0 ~ 16.0.616.0.7
Otras herramientasReact Router RSC, RedwoodJS, Vite RSC Plugin, Parcel RSC Plugin, etc.Se requiere parchear las dependencias RSC del proyecto correspondiente
  • Uso completo de las funciones (método + log)

    • Combina el método moduleLoad con el guardado de logs
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --method moduleLoad --log rce_output.log
  • Salida de depuración del payload

    • Muestra el payload en la consola antes de enviarlo al servidor
    • python cve_2025_55182_interactive.py http://localhost:3000 --rce --debug
  • sudo apt update && sudo apt install -y curl build-essential
  • curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh -o /tmp/install_nvm.sh && bash /tmp/install_nvm.sh
  • nvm install 20 && nvm use 20
  • cd vulnerable-react-env && npm install
  • npm start (puerto predeterminado: 3000)
  • Experimente la vulnerabilidad
    • Acceda a http://localhost:3000 desde el navegador y envíe _payload y cmd mediante el formulario
    • O reproduzca el flujo de RCE con los ejemplos de curl de vulnerable-react-env/README.md