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
react2shell-poc-CVE-2025-55182 — Exploit de prueba de concepto para CVE-2025-55182, una vulnerabilidad crítica de RCE en Next.js Server Actions. Explota la deserialización insegura en el protocolo React Flight para ejecutar comandos arbitrarios mediante la contaminación de prototipos y la evasión de sandbox. | Kitploit
Herramientas/GitHubGitHub/tamagorengs/react2shell-poc-cve-2025-55182
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónDesarrollo de Payloads
GitHubtamagorengs/react2shell-poc-cve-2025-55182

react2shell-poc-CVE-2025-55182

Exploit de prueba de concepto para CVE-2025-55182, una vulnerabilidad crítica de RCE en Next.js Server Actions. Explota la deserialización insegura en el protocolo React Flight para ejecutar comandos arbitrarios mediante la contaminación de prototipos y la evasión de sandbox.

Ver Repositorio
2hace 8 mesesAú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

React2Shell PoC (CVE-2025-55182)

Un script de prueba de concepto (PoC) para React2Shell (CVE-2025-55182), una vulnerabilidad crítica de ejecución remota de código (RCE) que afecta a aplicaciones Next.js que utilizan Server Actions.

[!WARNING] Aviso legal: Esta herramienta es solo para fines educativos y de pruebas autorizadas. No soy responsable de ningún uso indebido.

Descripción

Este script explota una vulnerabilidad de deserialización insegura en el protocolo "Flight" de React Server Components. Permite a atacantes no autenticados ejecutar código JavaScript arbitrario en el servidor, lo que conduce a una ejecución remota de código (RCE) parcial.

Características

  • Payload robusto: Utiliza una comprobación de compatibilidad para encontrar require (global.require o mediante el constructor del módulo), asegurando que funcione en versiones modernas de Node.js (v14+).
  • Configuración dinámica: Especifica la URL objetivo y el comando mediante opciones de CLI.
  • Manejo de errores: Manejo elegante de errores de conexión.

Instalación

  1. Clona el repositorio.
  • Instala las dependencias:
  • root@kitploit:~
    pip install -r requirements.txt
    

    Uso

    root@kitploit:~
    python3 react2shell.py -u <TARGET_URL> [-c <COMMAND>]
    
    ArgumentoDescripciónPor defecto
    -u, --urlRequerido. La URL objetivo (p. ej., http://localhost:3000/).N/A
    -c, --cmdOpcional. El comando a ejecutar en el servidor.id

    Ejemplos

    Comprobar la identidad del usuario:

    root@kitploit:~
    python3 react2shell.py -u http://127.0.0.1:3000/
    

    Listar el contenido del directorio:

    root@kitploit:~
    python3 react2shell.py -u http://127.0.0.1:3000/ -c "ls -la"
    

    Leer un archivo sensible:

    root@kitploit:~
    python3 react2shell.py -u http://127.0.0.1:3000/ -c "cat /etc/passwd"
    

    Análisis técnico

    El exploit aprovecha una cadena de Prototype Pollution y deserialización insegura dentro del manejo de Server Actions de Next.js para React Server Components (RSC).

    1. Punto de entrada: La cabecera Next-Action indica al servidor que procese una Server Action.
    2. Prototype Pollution: El payload JSON inyecta una propiedad then maliciosa ("$1:__proto__:then"). Esto engaña al manejador de solicitudes asíncronas del servidor para que trate el payload como un "Thenable" (objeto similar a una Promise).
    3. Inyección de código: Cuando el servidor intenta resolver esta Promise falsa, procesa el objeto _response. El campo _prefix se usa normalmente para el buffer interno del stream, pero al manipularlo, podemos inyectar JavaScript crudo.
    4. Bypass del sandbox: En entornos modernos de Next.js/Webpack, la función require suele eliminarse del ámbito global para prevenir RCE. El script lo evita recorriendo la cadena de prototipos de process.mainModule:
      root@kitploit:~
      var require = global.require || global.process.mainModule.constructor._load;
      
      Esto recupera el cargador de módulos interno, permitiéndonos importar child_process y ejecutar comandos del sistema.
    5. Ejecución y exfiltración: El código inyectado se ejecuta de forma síncrona (execSync), y la salida se lanza como un objeto Error. Este error se serializa y se devuelve al cliente en el cuerpo de la respuesta HTTP, permitiéndonos ver la salida del comando.

    Agradecimientos

    Esta herramienta fue desarrollada con la asistencia de Gemini 3 Pro.

    Descargar herramienta