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 — Escáner de seguridad para CVE-2025-55182 - Vulnerabilidad crítica de RCE en React Server Components. Escanea lockfiles de npm/pnpm/yarn, imágenes de Docker, SBOMs y URLs en vivo. Auto-corrección, salida SARIF, GitHub Actions, integración con Vercel y middleware de protección en tiempo de ejecución. | Kitploit
Herramientas/GitHubGitHub/gensecaihq/react2shell-scanner
Escáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis de CódigoSeguridad WebDevSecOpsDetección de SecretosSeguridad de Cadena de Suministro
GitHubgensecaihq/react2shell-scanner

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 →

Acerca de

react2shell-scanner

Ver RepositorioSitio web
597hace 8 mesesRevisado por Kitploit

Escáner de seguridad para CVE-2025-55182 - Vulnerabilidad crítica de RCE en React Server Components. Escanea lockfiles de npm/pnpm/yarn, imágenes de Docker, SBOMs y URLs en vivo. Auto-corrección, salida SARIF, GitHub Actions, integración con Vercel y middleware de protección en tiempo de ejecución.

Compartir

react2shell-guard

Escáner de seguridad para CVE-2025-55182 - una vulnerabilidad crítica (CVSS 10.0) de ejecución remota de código no autenticada en React Server Components.

⚠️ AVISO LEGAL

Este es un escáner de seguridad, NO una herramienta de explotación. Está diseñado para ayudar a desarrolladores y equipos de seguridad a identificar dependencias vulnerables en sus proyectos.

Este es un proyecto de código abierto impulsado por la comunidad, proporcionado "TAL CUAL", sin garantía de ningún tipo, expresa o implícita. Los autores y colaboradores no son responsables de ningún daño o incidente de seguridad derivado del uso de esta herramienta.

Úsalo bajo tu propio riesgo y responsabilidad. Verifica siempre los hallazgos manualmente y sigue las políticas de seguridad de tu organización. Si descubres algún problema, error o tienes sugerencias, por favor contribuye para ayudar a mejorar el proyecto para todos.

🤝 SE BUSCAN COLABORADORES

¡Este proyecto está buscando activamente probadores y colaboradores! Ya sea que quieras informar errores, sugerir funciones, mejorar la documentación o enviar código, todas las contribuciones son bienvenidas. Consulta nuestra Guía de Contribución para comenzar.

Agradecimientos

Este proyecto existe para ayudar a la comunidad a responder al CVE-2025-55182. Agradecemos y reconocemos a:

  • Lachlan Davidson (react2shell.com): Por descubrir y divulgar responsablemente la vulnerabilidad de React Server Components (CVE-2025-55182) el 29 de noviembre de 2025. La comunidad de seguridad le debe gratitud por su diligencia al identificar esta falla crítica y por trabajar con los equipos de React y Next.js para garantizar que los parches estuvieran disponibles. Sus esfuerzos han ayudado a proteger innumerables aplicaciones y usuarios en todo el mundo. Consulta su PoC original para ver los detalles técnicos.

Inicio Rápido

1. Escaneo instantáneo (sin instalación)

La forma más rápida de comprobar si tu proyecto es vulnerable:```bash npx react2shell-guard .

root@kitploit:~
¡Eso es todo! Esto escaneará tu directorio actual y mostrará los resultados inmediatamente.

### 2. Escanear un proyecto específico```bash
npx react2shell-guard /path/to/your/project

3. Corrección automática de vulnerabilidades

¿Has encontrado vulnerabilidades? Corrígelas automáticamente:```bash

Preview what will be changed

npx react2shell-guard fix --dry-run

Apply fixes

npx react2shell-guard fix

Apply fixes and reinstall dependencies

npx react2shell-guard fix --install

root@kitploit:~
### 4. Escanear URLs en vivo

Comprueba si una aplicación desplegada es vulnerable:```bash
npx react2shell-guard scan-url https://your-app.com

5. Verificar que el parche se aplicó

Confirma que tu corrección implementada está funcionando:```bash npx react2shell-guard verify-patch https://your-app.com

root@kitploit:~
### 6. Escanear imágenes de contenedores

Comprueba si tus imágenes de Docker contienen paquetes vulnerables:```bash
npx react2shell-guard scan-image myapp:latest

7. Crear PR de corrección (GitHub)

Crea automáticamente un PR de GitHub para corregir vulnerabilidades:```bash npx react2shell-guard create-pr --dry-run # Preview npx react2shell-guard create-pr # Create PR

root@kitploit:~
---

## ¿Qué es CVE-2025-55182?

El 29 de noviembre de 2025, el investigador de seguridad Lachlan Davidson descubrió y reveló de forma responsable una vulnerabilidad crítica en React Server Components. La falla radica en cómo React decodifica los payloads enviados a los endpoints de React Server Function, permitiendo a atacantes no autenticados lograr la ejecución remota de código en los servidores afectados sin ninguna interacción del usuario.

CVE-2025-55182 está clasificada con CVSS 10.0 (Crítico) y afecta a React Server Components (RSC) y a los frameworks que utilizan el protocolo "Flight" de RSC.

**Paquetes afectados:**
- `react-server-dom-webpack` 19.0.0, 19.1.0-19.1.1, 19.2.0
- `react-server-dom-parcel` (mismas versiones)
- `react-server-dom-turbopack` (mismas versiones)
- `next` 15.0.0-15.0.4, 15.1.0-15.1.8, 15.2.0-15.2.5, 15.3.0-15.3.5, 15.4.0-15.4.7, 15.5.0-15.5.6, 16.0.0-16.0.6

**Más información:**
- [React Security Advisory](https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components)
- [Wiz Research](https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182)

---

## Instalación (Opcional)

Para un uso frecuente, instálelo globalmente:```bash
npm install -g react2shell-guard

Luego usa sin npx:```bash react2shell-guard .

root@kitploit:~
---

## Guía de uso

### Escaneo básico```bash
# Scan current directory
react2shell-guard .

# Scan specific directory
react2shell-guard /path/to/project

# Scan and ignore certain paths
react2shell-guard . --ignore-path "examples/**" "test/**"

Formatos de Salida```bash

Human-readable text (default)

react2shell-guard .

JSON output (for scripting)

react2shell-guard . --json

SARIF output (for GitHub Security tab)

react2shell-guard . --sarif

HTML report (standalone, shareable)

react2shell-guard . --html report.html

root@kitploit:~
### Opciones de CLI

| Opción | Descripción |
|--------|-------------|
| `--json` | Mostrar resultados como JSON |
| `--sarif` | Mostrar resultados como SARIF 2.1.0 |
| `--html <file>` | Generar informe HTML independiente |
| `--no-exit-on-vuln` | No salir con código 1 cuando se encuentren vulnerabilidades |
| `--ignore-path <patterns>` | Rutas a ignorar (p. ej., `examples/**`) |
| `--debug` | Habilitar salida de depuración |

### Códigos de Salida

| Código | Significado |
|------|---------|
| `0` | No se encontraron vulnerabilidades |
| `1` | Vulnerabilidades detectadas |
| `2+` | Error fatal |

## Escaneo de URL en Vivo

Escanea endpoints en vivo para detectar si son vulnerables:```bash
# Scan a single URL
react2shell-guard scan-url https://example.com

# Batch scan from a file (one URL per line)
react2shell-guard scan-url urls.txt --list

# With options
react2shell-guard scan-url https://example.com --timeout 5000 --json

Cómo funciona el escaneo de URL en vivo

El escáner utiliza huellas digitales pasivas para detectar endpoints vulnerables de React Server Components sin explotar la vulnerabilidad:

  1. Solicitud de prueba: Envía una solicitud POST manipulada que simula una llamada a Server Action de RSC con una carga útil mínima:

    • Utiliza el tipo de contenido multipart/form-data con una estructura de datos similar a RSC
    • Incluye el encabezado Next-Action para activar el procesamiento de Server Action
  2. Análisis de la respuesta: Analiza la respuesta HTTP en busca de firmas de vulnerabilidad:

    • Comprueba el código de estado HTTP 500 (respuesta de error)
    • Compara el cuerpo de la respuesta con los patrones de error del protocolo RSC Flight:
      • ^[0-9]+:E{ - formato de error del protocolo RSC Flight
      • "digest":"...RSC - digest de RSC en respuestas de error
      • ReactServerComponentsError - nombres de clases de error de React
      • text/x-component.*error - tipo de contenido de error de componente
  3. No destructivo: Es puramente un mecanismo de detección: no ejecuta ninguna carga útil maliciosa ni explota la vulnerabilidad. La sonda utiliza datos benignos que provocan respuestas de error en servidores vulnerables, pero no causa ningún daño.

Nota: Una detección positiva significa que el servidor está ejecutando una versión vulnerable y devolvió una firma de error específica de RSC. NO significa que el servidor haya sido explotado.

Opciones del escáner de URL

Verificación del parche

Verifica si un objetivo ha sido parcheado contra la vulnerabilidad:```bash

Verify patch status (runs multiple scans for accuracy)

react2shell-guard verify-patch https://example.com

With JSON output

react2shell-guard verify-patch https://example.com --json

root@kitploit:~
### Cómo funciona la verificación de parches

La verificación de parches realiza **múltiples escaneos consecutivos** (predeterminado: 3) con breves demoras entre ellos para garantizar una detección precisa:

1. **Múltiples sondas**: Ejecuta la misma comprobación pasiva de huella digital 3 veces con demoras de 500 ms
2. **Puntuación de confianza**:
   - **Confianza alta**: 2+ escaneos exitosos con resultados consistentes
   - **Confianza media**: 1 escaneo exitoso con resultado concluyente
   - **Confianza baja**: Todos los escaneos fallaron o resultados no concluyentes
3. **Clasificación de resultados**:
   - **PATCHED**: No se detectaron firmas de vulnerabilidad en todos los escaneos exitosos
   - **VULNERABLE**: Se detectó una firma de vulnerabilidad en uno o más escaneos
   - **No concluyente**: Resultados mixtos o todos los escaneos fallaron

Este enfoque de múltiples escaneos reduce los falsos positivos debidos a problemas transitorios de red y proporciona mayor confianza en el estado del parche.

### Opciones de verificación

| Opción | Descripción |
|--------|-------------|
| `--timeout <ms>` | Tiempo de espera de solicitud en milisegundos (predeterminado: 10000) |
| `--json` | Muestra los resultados como JSON |
| `--skip-ssl-verify` | Omite la verificación del certificado SSL |

## Escaneo de imágenes de contenedores

Escanee imágenes de contenedores Docker/OCI para buscar paquetes vulnerables:```bash
# Scan a local or remote image
react2shell-guard scan-image myapp:latest

# Scan from a registry
react2shell-guard scan-image registry.example.com/myapp:v1.0

# Skip pulling (use local image only)
react2shell-guard scan-image myapp:latest --skip-pull

# With JSON output
react2shell-guard scan-image myapp:latest --json

# With SARIF output
react2shell-guard scan-image myapp:latest --sarif

Opciones del escáner de contenedores

Requisitos:

  • Docker debe estar instalado y en ejecución
  • Espacio en disco suficiente para la extracción de la imagen

Integración con el despliegue en Vercel

Bloquea los despliegues vulnerables antes de que lleguen a producción:```bash

Run as part of your build command

react2shell-guard vercel-check

In package.json

{ "scripts": { "vercel-build": "react2shell-guard vercel-check && next build" } }

Or in vercel.json

{ "buildCommand": "npx react2shell-guard vercel-check && npm run build" }

root@kitploit:~
### Vercel Check Options

| Option | Description |
|--------|-------------|
| `--no-fail` | Advierte pero no falla la compilación por vulnerabilidades |
| `--ignore-path <patterns>` | Rutas a ignorar (patrones glob) |
| `--debug` | Habilita la salida de depuración |

## GitHub PR Automation

Crea automáticamente una pull request para corregir vulnerabilidades:```bash
# Preview what will be done
react2shell-guard create-pr --dry-run

# Create branch and PR
react2shell-guard create-pr

# Create branch but don't push/create PR
react2shell-guard create-pr --no-push

# Custom branch name
react2shell-guard create-pr --branch fix/security-update

Opciones para crear la PR

OpciónDescripción
--branch <name>Nombre de la rama para la corrección (por defecto: fix/cve-2025-55182)
--dry-runMuestra lo que se haría sin realizar cambios
--no-pushCrea la rama y los commits pero no hace push ni crea la PR

Requisitos:

  • GitHub CLI (gh) debe estar instalado y autenticado
  • Debe estar en un repositorio git con un remoto

Ejemplo de salida```

react2shell-guard - CVE-2025-55182 Scanner ──────────────────────────────────────────────────

Scanned 1 project(s)

✗ my-app [VULNERABLE] Path: /path/to/my-app Framework: nextjs v15.2.1 App Router: Yes (RSC enabled)

Vulnerabilities found: - react-server-dom-webpack @ 19.1.0 Upgrade to: 19.1.2 Advisory: https://react.dev/blog/2025/12/03/... - next @ 15.2.1 Upgrade to: 15.2.6 Advisory: https://react.dev/blog/2025/12/03/...

────────────────────────────────────────────────── VULNERABLE - Action required! Upgrade affected packages to patched versions immediately.

root@kitploit:~
## Integración con GitHub Actions

> **Nota:** Publicamos activamente nuevas versiones con patrones de detección mejorados y correcciones. Usa `@v1` para versiones estables o `@latest` para la versión más reciente.

### Acción de GitHub Marketplace

La forma más sencilla de integrar es usando nuestra acción oficial de GitHub:```yaml
name: Security Scan

on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Scan for CVE-2025-55182
        uses: gensecaihq/react2shell-scanner@v1
        with:
          path: '.'
          fail-on-vuln: true

Configuración completa (SARIF + comentarios de PR)```yaml

name: Security Scan

on: [push, pull_request]

jobs: scan: runs-on: ubuntu-latest permissions: security-events: write # For SARIF upload pull-requests: write # For PR comments

root@kitploit:~
steps:
  - uses: actions/checkout@v4

  - name: Scan for CVE-2025-55182
    uses: gensecaihq/react2shell-scanner@v1
    with:
      path: '.'
      format: sarif
      fail-on-vuln: true
      upload-sarif: true        # Upload to GitHub Security tab
      add-pr-comment: true      # Comment on PRs with results
      ignore-paths: 'examples/**,test/fixtures/**'
root@kitploit:~
### Entradas de acción

| Entrada | Descripción | Predeterminado |
|-------|-------------|---------|
| `path` | Ruta a escanear | `.` |
| `scan-type` | Tipo de escaneo: `repo`, `sbom`, `container` | `repo` |
| `format` | Formato de salida: `text`, `json`, `sarif` | `text` |
| `fail-on-vuln` | Fallar si se encuentran vulnerabilidades | `true` |
| `upload-sarif` | Subir SARIF a GitHub Security | `false` |
| `add-pr-comment` | Añadir comentario de PR con resultados | `false` |
| `ignore-paths` | Rutas separadas por comas a ignorar | `''` |
| `sbom-file` | Ruta del archivo SBOM (cuando scan-type es sbom) | `''` |
| `container-image` | Imagen Docker (cuando scan-type es container) | `''` |

### Salidas de acción

| Salida | Descripción |
|--------|-------------|
| `vulnerable` | Si se encontraron vulnerabilidades (`true`/`false`) |
| `findings-count` | Número de paquetes vulnerables |
| `scan-result` | Resultado completo del escaneo (formato JSON) |
| `sarif-file` | Ruta al archivo de salida SARIF |

### Escanear imágenes de contenedores```yaml
- name: Scan Docker image
  uses: gensecaihq/react2shell-scanner@v1
  with:
    scan-type: container
    container-image: myapp:latest

Escanear archivos SBOM```yaml

  • name: Scan SBOM uses: gensecaihq/react2shell-scanner@v1 with: scan-type: sbom sbom-file: sbom.json
root@kitploit:~
### Uso manual de la CLI

Si prefieres usar la CLI directamente:```yaml
- name: Setup Node.js
  uses: actions/setup-node@v4
  with:
    node-version: '20'

- name: Scan for vulnerabilities
  run: npx react2shell-guard@latest .

Gestores de Paquetes Soportados

react2shell-guard detecta y analiza automáticamente lockfiles de:

  • npm - package-lock.json (formatos v2 y v3)
  • pnpm - pnpm-lock.yaml
  • yarn - yarn.lock (formatos Classic y Berry)

Características

  • Escaneo rápido - Analiza lockfiles directamente, sin necesidad de instalar dependencias
  • Soporte para monorepos - Descubre y escanea automáticamente todos los proyectos
  • Detección de frameworks - Identifica el uso de Next.js y App Router
  • Múltiples formatos de salida - Informes en Texto, JSON, SARIF y HTML
  • Listo para CI/CD - Códigos de salida e integración con GitHub Actions
  • Cero llamadas de red - Funciona completamente sin conexión
  • Corrección automática - Actualiza automáticamente dependencias vulnerables
  • Hooks de pre-commit - Bloquea commits con dependencias vulnerables
  • Escaneo SBOM - Escanea archivos SBOM CycloneDX
  • Integración MCP - Soporte para asistentes de IA mediante Model Context Protocol
  • Protección en tiempo de ejecución - Middleware de Express.js/Next.js para defensa en profundidad
  • Escaneo de URL en vivo - Escanea aplicaciones desplegadas en busca de vulnerabilidades
  • Escaneo de contenedores - Escanea imágenes Docker/OCI en busca de paquetes vulnerables
  • Integración con Vercel - Bloquea despliegues vulnerables antes de producción
  • Automatización de PRs en GitHub - Crea PRs de corrección automáticamente con un solo comando

Corrección Automática de Vulnerabilidades

Actualiza automáticamente tu package.json para usar versiones parcheadas:```bash

Preview changes (dry run)

react2shell-guard fix --dry-run

Apply fixes

react2shell-guard fix

Apply fixes and run npm/pnpm/yarn install

react2shell-guard fix --install

root@kitploit:~
## Hooks de Pre-Commit

Instala hooks de git para evitar hacer commit de dependencias vulnerables:```bash
# Auto-detect hook framework and install
react2shell-guard init-hooks

# Preview what would be installed
react2shell-guard init-hooks --dry-run

# Force specific hook type
react2shell-guard init-hooks --hook-type husky
react2shell-guard init-hooks --hook-type lefthook
react2shell-guard init-hooks --hook-type standalone

Frameworks de hooks compatibles:

  • Husky - Agrega a .husky/pre-commit
  • Lefthook - Crea/actualiza lefthook.yml
  • Standalone - Crea .git/hooks/pre-commit

El hook bloqueará los commits cuando package.json contenga dependencias vulnerables y sugerirá ejecutar react2shell-guard fix para remediarlo.

Escaneo de SBOM

Escanea archivos SBOM CycloneDX en busca de vulnerabilidades:```bash

Scan a CycloneDX SBOM

react2shell-guard scan-sbom bom.json

With JSON output

react2shell-guard scan-sbom bom.json --json

With SARIF output

react2shell-guard scan-sbom bom.json --sarif

root@kitploit:~
## MCP Server (Integración con Asistente de IA)

Inicia el servidor del Model Context Protocol para la integración con asistentes de IA:```bash
react2shell-guard mcp-server

Herramientas MCP disponibles:

  • scan_repo - Escanea un repositorio en busca de vulnerabilidades
  • scan_sbom - Escanea un archivo SBOM CycloneDX

Configuración con clientes compatibles con MCP (ejemplo de configuración):```json { "mcpServers": { "react2shell-guard": { "command": "npx", "args": ["react2shell-guard", "mcp-server"] } } }

root@kitploit:~
## Middleware de protección en tiempo de ejecución

Middleware de defensa en profundidad que detecta y bloquea los intentos de explotación de CVE-2025-55182 en tiempo de ejecución.

### Express.js```typescript
import express from 'express';
import { createExpressMiddleware } from 'react2shell-guard/middleware';

const app = express();

// Add raw body parser for RSC payloads
app.use(express.raw({ type: 'text/x-component' }));
app.use(express.json());

// Add protection middleware
app.use(createExpressMiddleware({
  action: 'block',  // 'block' | 'log' | 'alert'
  onAlert: (result, req) => {
    // Send to your alerting system (Slack, PagerDuty, etc.)
    console.error('CVE-2025-55182 exploit attempt:', result);
  },
  skipPaths: ['/health', '/metrics'],
}));

Next.js```typescript

// middleware.ts import { withReact2ShellGuard } from 'react2shell-guard/middleware';

export const middleware = withReact2ShellGuard({ action: 'block', rscEndpointsOnly: true, // Only check RSC endpoints (recommended) });

export const config = { matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'], };

root@kitploit:~
**Patrones detectados:**
- Inyección de funciones serializadas
- Intentos de contaminación de prototipos
- Referencias a módulos malformadas
- Manipulación de acciones del servidor
- Cargas maliciosas codificadas
- Abuso del formato de streaming RSC

## Uso de la API```typescript
import { scan } from 'react2shell-guard';

const result = scan({
  path: '/path/to/project',
  ignorePaths: ['examples/**'],
  debug: false,
});

console.log(result.vulnerable); // boolean
console.log(result.projects);   // ProjectResult[]

Esquema de Salida JSON```json

{ "cve": "CVE-2025-55182", "vulnerable": true, "scanTime": "2025-12-04T10:30:00Z", "projects": [ { "name": "my-app", "path": "/path/to/my-app", "framework": { "type": "nextjs", "version": "15.2.1", "appRouterDetected": true }, "findings": [ { "package": "react-server-dom-webpack", "currentVersion": "19.1.0", "fixedVersion": "19.1.2", "severity": "critical", "advisoryUrl": "https://..." } ], "vulnerable": true } ], "errors": [] }

root@kitploit:~
## Remediación

**Corrección automática (recomendada):**```bash
react2shell-guard fix --install

Actualización manual - paquetes de React:```bash npm install [email protected] # or 19.0.1, 19.2.1

root@kitploit:~
**Actualización manual - Next.js:**```bash
npm install [email protected]  # or other patched version for your release line

Versiones corregidas de Next.js por línea de versión:

  • 15.0.x → 15.0.5
  • 15.1.x → 15.1.9
  • 15.2.x → 15.2.6
  • 15.3.x → 15.3.6
  • 15.4.x → 15.4.8
  • 15.5.x → 15.5.7
  • 16.0.x → 16.0.7

Desarrollo```bash

Install dependencies

npm install

Build

npm run build

Run tests

npm test

Run in development mode

npm run dev

root@kitploit:~
## Licencia

MIT
Descargar herramienta
OptionDescription
--listTrata el objetivo como un archivo que contiene URLs
--threads <n>Número de hilos concurrentes (predeterminado: 10)
--timeout <ms>Tiempo de espera de la solicitud en milisegundos (predeterminado: 10000)
--jsonMuestra los resultados como JSON
--skip-ssl-verifyOmite la verificación del certificado SSL
--verboseMuestra todos los resultados, incluidos los hosts no vulnerables
OpciónDescripción
--timeout <ms>Tiempo de espera de la operación en milisegundos (predeterminado: 120000)
--skip-pullOmitir la descarga de la imagen del registro (usar solo la local)
--jsonMostrar resultados en JSON
--sarifMostrar resultados en SARIF 2.1.0
--no-exit-on-vulnNo salir con el código 1 cuando se encuentren vulnerabilidades
--debugHabilitar la salida de depuración