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-66478-Exploit-Poc — Exploit de prueba de concepto para Next.js CVE-2025-66478, que demuestra RCE mediante deserialización insegura y contaminación de prototipos en Server Actions. Incluye una aplicación vulnerable y un script de exploit en Python para investigación de seguridad. | Kitploit
Herramientas/GitHubGitHub/namest504/cve-2025-66478-exploit-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubnamest504/cve-2025-66478-exploit-poc

CVE-2025-66478-Exploit-Poc

Exploit de prueba de concepto para Next.js CVE-2025-66478, que demuestra RCE mediante deserialización insegura y contaminación de prototipos en Server Actions. Incluye una aplicación vulnerable y un script de exploit en Python para investigación de seguridad.

Ver Repositorio
312hace 9 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

PoC de CVE-2025-66478 de Next.js

Inglés | 한국어

Este repositorio contiene una Prueba de Concepto (PoC) para reproducir e investigar la vulnerabilidad CVE-2025-66478 de Next.js. Consiste en una aplicación Next.js vulnerable y un script de explotación en Python para probar la vulnerabilidad.

¿Qué es CVE-2025-66478?

Se trata de una vulnerabilidad de Ejecución Remota de Código (RCE) que ocurre durante el procesamiento de las Server Actions de Next.js.

Aspectos clave:

  • Causa Raíz: Deserialización Insegura dentro del protocolo Flight de RSC (React Server Components).
  • Vector de Ataque: Contaminación de Prototipos a través de la propiedad __proto__.

Resumen de la Vulnerabilidad

ElementoDescripción
CVE IDCVE-2025-66478
TipoEjecución Remota de Código (RCE)
Causa RaízDeserialización Insegura en el Protocolo de Vuelo RSC
Gravedad (CVSS)10.0 (Crítico)
ImpactoEjecución arbitraria de comandos del sistema en el servidor

Mecanismo de Ataque (Detalle Técnico)

  1. Transmisión del Payload: El atacante elabora un payload utilizando el formato de serialización React Flight e inyecta propiedades como __proto__.
  2. Deserialización Insegura y Contaminación: El servidor deserializa el payload sin la validación adecuada, lo que provoca la contaminación de Object.prototype.
  3. Gadget Thenable: La contaminación inyecta una propiedad then en todos los objetos. La lógica de Next.js identifica erróneamente estos objetos como Promesas (Thenables).
  4. Ejecución de RCE: Cuando el servidor intenta usar await en esta "falsa Promise", se ejecuta el código JavaScript malicioso inyectado en el método then (por ejemplo, child_process.execSync).
root@kitploit:~
sequenceDiagram
    participant Attacker
    participant Server as Next.js Server
    
    Attacker->>Server: POST / (JSON with "__proto__": {"then": ...})
    Note right of Server: JSON Parsing Pollutes Object.prototype
    
    Server->>Server: Application Logic encounters an Object
    
    rect rgb(200, 150, 150)
    Note right of Server: "Thenable" Check Gadget
    Server->>Server: Checks: typeof obj.then === 'function'?
    Server-->>Server: YES (due to pollution)
    end
    
    Server->>Server: Await/Execute malicious .then()
    Note right of Server: Malicious JS Code Runs (RCE)
    
    Server-->>Attacker: Response (Action Redirect / Error info)

En consecuencia, mientras el servidor procesa esta Promise manipulada, ejecuta código JavaScript inyectado por el atacante, lo que puede llevar a la ejecución de comandos del sistema. El archivo main.py incluido es un código de ejemplo que reproduce este escenario de ataque.

Versiones Afectadas

Esta vulnerabilidad afecta a las aplicaciones Next.js que utilizan el App Router.

  • Afectadas:
    • Next.js 15.x
    • Next.js 16.x
    • Next.js 14.3.0-canary.77 y posteriores (versiones Canary)
  • No Afectadas:
    • Next.js 13.x
    • Next.js 14.x Stable releases
    • Aplicaciones que solo usan Pages Router
    • Edge Runtime

Versiones Corregidas:

  • 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
  • 16.0.7
  • 15.6.0-canary.58 (para usuarios de PPR)

Referencias

  • Aviso de Seguridad de Next.js
  • NVD - CVE-2025-66478

Estructura de Archivos

  • next.js/: Código de ejemplo de la aplicación web Next.js vulnerable.
  • exploit/: Script de explotación escrito en Python (main.py).

Requisitos Previos

  • Node.js: Se recomienda v18 o superior.
  • Python: Se recomienda v3.8 o superior.

1. Ejecutando la Aplicación Next.js

Primero, debes ejecutar el servidor Next.js objetivo.

  1. Navega al directorio next.js:

    root@kitploit:~
    cd next.js
    
  2. Instala las dependencias:

    root@kitploit:~
    npm install
    # También puedes usar yarn o pnpm.
    
  3. Inicia el servidor de desarrollo:

    root@kitploit:~
    npm run dev
    

    Verifica que puedas acceder a http://localhost:3000 desde tu navegador.

2. Ejecutando el Exploit en Python

Ahora puedes probar la vulnerabilidad usando el script de Python.

  1. Navega al directorio exploit desde la raíz del proyecto:

    root@kitploit:~
    cd exploit
    
  2. (Opcional) Se recomienda usar un Entorno Virtual:

    root@kitploit:~
    python3 -m venv venv
    source venv/bin/activate  # Para Windows: venv\Scripts\activate
    
  3. Instala las librerías necesarias: Se requiere el módulo requests.

    root@kitploit:~
    pip install requests
    
  4. Ejecuta el script:

    root@kitploit:~
    python main.py
    

    Por defecto, apunta a la dirección local (http://localhost:3000). Para probar una dirección diferente, usa la opción --url:

    root@kitploit:~
    python main.py --url http://target-ip:3000
    

Descargo de Responsabilidad

Este código se proporciona únicamente con fines de investigación de seguridad y educativos. El uso de esta herramienta contra sistemas o redes sin permiso previo es ilegal, y el usuario es el único responsable de cualquier problema que surja de dicho uso.

Descargar herramienta