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
react-server-cve-lab — Laboratorio de investigación de seguridad para CVE-2025-55183 y CVE-2025-55184 en React Server Components | Kitploit
Herramientas/GitHubGitHub/stealthmoud/react-server-cve-lab
Análisis de VulnerabilidadesExplotaciónSeguridad WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubstealthmoud/react-server-cve-lab

react-server-cve-lab

Laboratorio de investigación de seguridad para CVE-2025-55183 y CVE-2025-55184 en React Server Components

Ver Repositorio
55hace 9 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

Laboratorio de Seguridad de React Server Components (CVE-2025-55183 y CVE-2025-55184)

License: MIT React Version CVE-2025-55183 CVE-2025-55184

Un entorno integral de pruebas de seguridad para las vulnerabilidades CVE-2025-55183 (Exposición de Código Fuente) y CVE-2025-55184 (Denegación de Servicio) en React Server Components.

⚠️ Aviso legal

SOLO PARA FINES EDUCATIVOS Y DE INVESTIGACIÓN EN SEGURIDAD

Este repositorio contiene aplicaciones deliberadamente vulnerables y herramientas de explotación. Pruebe únicamente en sistemas que le pertenezcan o para los que tenga permiso explícito por escrito. Las pruebas no autorizadas son ilegales y poco éticas.

📋 Tabla de contenidos

  • Acerca de las vulnerabilidades
  • Inicio rápido
  • Estructura del repositorio
  • Aplicación vulnerable
  • Uso del escáner
  • Documentación detallada
  • Remediación
  • Licencia

🔍 Acerca de las vulnerabilidades

Ambas vulnerabilidades afectan a las versiones 19.0.0 a 19.2.2 de React Server Components, divulgadas el 11 de diciembre de 2025.

CVE-2025-55183: Exposición de Código Fuente (Severidad Media)

PropiedadValor
SeveridadMedia (CVSS 5.3)
TipoDivulgación de información
ImpactoExposición del código fuente del servidor
AutenticaciónNo se requiere

Los atacantes pueden forzar los argumentos de Server Actions para filtrar código fuente exclusivo del servidor llamando a .toString() en objetos de funciones del servidor. Esto expone:

  • Lógica y algoritmos de negocio
  • Claves API o secretos codificados
  • Detalles de implementación interna
  • Consultas de base de datos e información del esquema

CVE-2025-55184: Denegación de Servicio (Severidad Alta)

PropiedadValor
SeveridadAlta (CVSS 7.5)
TipoDenegación de servicio
ImpactoInterrupción completa del servicio
AutenticaciónNo se requiere

Las cargas útiles especialmente diseñadas crean una recursión infinita de promesas, lo que provoca que el servidor Node.js se bloquee indefinidamente. Esto resulta en:

  • Indisponibilidad total del servicio
  • Agotamiento de la CPU
  • Bucle de eventos bloqueado
  • Reinicio manual necesario

Comparación

AspectoCVE-2025-55183CVE-2025-55184
SeveridadMediaAlta
TipoDivulgación de informaciónDenegación de servicio
ImpactoFuga de código fuenteCaída del servidor
DetecciónLa respuesta contiene códigoTiempo de espera/bloqueo del servidor
RecuperaciónInmediataRequiere reinicio

⚠️ Importante: Acerca de CVE-2025-55184 (DoS) en esta demo

Por qué el DoS podría no provocar la caída de la aplicación demo

TL;DR: La aplicación ES vulnerable (React 19.0.0), pero las protecciones modernas pueden evitar el cierre real en este entorno de demostración.

La comprobación de la realidad

CVE-2025-55184 es una vulnerabilidad REAL y CRÍTICA que afecta a React 19.0.0-19.2.2 en entornos de producción. Sin embargo, demostrar con éxito la caída por DoS en una demo local puede ser complicado debido a:

1. Protección integrada de Next.js

  • Next.js 15.x incluye límites de error que capturan y recuperan muchos cierres
  • Los mecanismos automáticos de recuperación de errores evitan la recursión infinita
  • El modo de producción tiene un manejo de errores diferente al de la ruta de código vulnerable

2. Aislamiento de Docker

  • La contenerización añade aislamiento de procesos
  • Los límites de recursos evitan el bloqueo total del sistema
  • El sistema init de Docker puede detectar y reiniciar procesos bloqueados

3. Desarrollo vs. Producción

  • La ruta de código vulnerable exacta requiere configuraciones de producción específicas
  • Los entornos de desarrollo/demo tienen mecanismos de seguridad adicionales
  • Las condiciones de carrera y la sincronización son diferentes en contenedores

Cómo verificar que la vulnerabilidad ESTÁ presente

Incluso si el exploit no provoca la caída de la demo, puede verificar la vulnerabilidad mediante:

Método 1: Comprobación de versión (la más fiable)

cd vulnerable-app
npm list react react-dom

# Output shows:
[email protected]        ← VULNERABLE VERSION
[email protected]    ← VULNERABLE VERSION

Si ve 19.0.0 hasta 19.2.2, la aplicación ES vulnerable.

Método 2: Detección con el escáner

cd scanner
python scan.py http://localhost:3000

El escáner comprueba:

  • ✅ Versión de React en el rango vulnerable
  • ✅ Server Actions habilitadas
  • ✅ Cabeceras de respuesta del servidor adecuadas
  • ✅ Patrones de endpoints explotables

🚀 Inicio rápido

Requisitos previos

  • Docker y Docker Compose
  • Python 3.7+
  • Git

1. Clonar el repositorio

git clone https://github.com/StealthMoud/react-server-cve-lab.git
cd react-server-cve-lab

2. Iniciar la aplicación vulnerable

# Start the app (vulnerable to both CVEs)
docker-compose up --build -d

# App available at: http://localhost:3000

3. Ejecutar el escáner

cd scanner

# Install dependencies
pip install -r requirements.txt

# Scan for both vulnerabilities
python scan.py http://localhost:3000

# Scan only CVE-2025-55183
python scan.py --cve 55183 http://localhost:3000

# Scan only CVE-2025-55184
python scan.py --cve 55184 http://localhost:3000

# Scan multiple targets
python scan.py --file targets.txt

📁 Estructura del repositorio

react-server-cve-lab/
├── README.md                          # This file
├── DOCUMENTATION.md                   # Complete technical documentation
├── LICENSE
├── .gitignore
├── docker-compose.yml
│
├── vulnerable-app/                    # Vulnerable to BOTH CVEs
│   ├── Dockerfile
│   ├── package.json
│   ├── next.config.js
│   └── app/
│       ├── layout.js
│       ├── page.js
│       └── actions.js                 # Vulnerable server actions
│
├── scanner/
│   ├── requirements.txt
│   ├── scan.py                        # Scanner for both CVEs
│   └── README.md
│
└── exploits/
    ├── exploit-55183.py               # PoC for CVE-2025-55183
    ├── exploit-55184.py               # PoC for CVE-2025-55184
    └── README.md

🎯 Aplicación vulnerable

La aplicación es una app de Next.js que ejecuta React 19.0.0 con Server Actions, vulnerable a ambas CVE.

Características

  • Server Actions: Múltiples endpoints que demuestran ambas vulnerabilidades
  • Código realista: Simula patrones del mundo real con secretos
  • Pruebas fáciles: Interfaz simple para pruebas manuales
  • Basado en Docker: Entorno aislado y reproducible

Iniciar la aplicación

# Using Docker Compose (recommended)
docker-compose up --build -d

# Check if running
curl http://localhost:3000

# View logs
docker-compose logs -f

# Stop the app
docker-compose down

Configuración manual (sin Docker)

cd vulnerable-app
npm install
npm run build
npm start

🔎 Uso del escáner

El escáner unificado detecta tanto CVE-2025-55183 como CVE-2025-55184.

Uso básico

cd scanner

# Scan for both CVEs
python scan.py http://localhost:3000

# Scan specific CVE only
python scan.py --cve 55183 http://localhost:3000
python scan.py --cve 55184 http://localhost:3000

Opciones avanzadas

# Verbose output
python scan.py --verbose http://localhost:3000
Descargar herramienta