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
react-cve-2025-55182 — Probar y analizar la vulnerabilidad CVE-2025-55182 en Next.js Server Actions. | Kitploit
Herramientas/GitHubGitHub/niokagi/react-cve-2025-55182
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsLabs y Práctica
GitHubniokagi/react-cve-2025-55182

react-cve-2025-55182

Probar y analizar la vulnerabilidad CVE-2025-55182 en Next.js Server Actions.

Ver Repositorio
3hace 8 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: Prueba de React/Next.js

Estado del proyecto: Experimental / Prueba de concepto

Este repositorio sirve como un entorno de investigación controlado y un marco de prueba de concepto (PoC) para analizar CVE-2025-55182. Demuestra una vulnerabilidad de contaminación de prototipos en el contexto de las Server Actions de Next.js, dirigida específicamente a operaciones inseguras de fusión recursiva.

Descripción general

La vulnerabilidad principal reside en una función de utilidad personalizada deepMerge implementada dentro de una Server Action de Next.js (syncConfiguration). La función carece de una sanitización adecuada para claves de objeto especiales, específicamente __proto__ y constructor. Esta deficiencia permite que un atacante no autenticado inyecte propiedades arbitrarias en el Object.prototype global.

En un runtime de Node.js del lado del servidor, la contaminación de prototipos exitosa puede provocar:

  • Manipulación remota del estado: Alterar la lógica de la aplicación, los indicadores de autorización (p. ej., ) o los ajustes de configuración a nivel global.
isAdmin
  • Denegación de servicio (DoS): Desestabilizar la aplicación sobrescribiendo métodos internos críticos como toString o valueOf.
  • Potencial ejecución remota de código (RCE): Aunque este laboratorio demuestra principalmente la manipulación del estado, la contaminación de prototipos a menudo puede encadenarse con otros gadgets (p. ej., en child_process o motores de plantillas) para lograr la ejecución de código arbitrario.
  • Estructura del repositorio

    • lab/next-app/: Una aplicación vulnerable Next.js 15 diseñada para simular la falla de seguridad.
      • src/app/actions.jsx: El código del lado del servidor que contiene la implementación vulnerable de deepMerge.
    • exploits/: Scripts de automatización en Python para pruebas y explotación.
      • rce.py: Un script que automatiza la inyección de payloads JSON maliciosos para demostrar la contaminación del estado del servidor.
      • get-shell.py: Una PoC avanzada que explora vectores de deserialización del RSC Flight Protocol.
    • docs/PAYLOADS.md: Un documento de referencia con varios payloads JSON para pruebas y análisis manuales.

    Instrucciones de uso

    1. Configuración del entorno

    Puedes ejecutar el laboratorio usando Docker (recomendado) o localmente.

    Opción A: Docker (Recomendado)

    Asegúrate de tener Docker y Docker Compose instalados.

    root@kitploit:~
    docker-compose up --build
    

    La aplicación estará disponible en http://localhost:3000.

    Opción B: Configuración local

    Requiere Node.js 20+.

    root@kitploit:~
    cd lab/next-app
    npm install
    npm run dev
    

    La aplicación estará disponible en http://localhost:3000.

    2. Verificación manual

    1. Navega a http://localhost:3000.
    2. Selecciona un payload de docs/PAYLOADS.md (p. ej., el payload básico).
    3. Introduce el payload en el campo "Config_Payload_Input" y envíalo mediante "Commit_Changes".
    4. Verifica la alerta "RUNTIME_POLLUTION_DETECTED", que indica explotación exitosa.

    3. Explotación automatizada

    Los scripts Python proporcionados permiten la verificación programática de la vulnerabilidad.

    Requisito previo: Obtén el Next-Action ID desde la pestaña Network del navegador (busca un encabezado de solicitud POST Next-Action) o desde la salida del terminal del servidor.

    Usando Docker (Recomendado)

    1. Entra al contenedor del atacante:
      root@kitploit:~
      docker exec -it exploit-runner bash
      
    2. Exporta el Action ID y ejecuta el exploit:
      root@kitploit:~
      export ACTION_ID="your_action_id_here"
      python3 rce.py "id"
      

    Usando Python local

    1. Instala las dependencias:
      root@kitploit:~
      pip install -r exploits/requirements.txt
      
    2. Ejecuta el exploit (establece ACTION_ID como variable de entorno o edita el script):
      root@kitploit:~
      export ACTION_ID="your_action_id_here"
      python3 exploits/rce.py "id"
      

    Nota: El script rce.py está configurado para demostrar la contaminación exitosa del estado. La ejecución completa de una shell depende de gadgets específicos del entorno, que pueden variar.

    Aviso legal

    Este proyecto está destinado exclusivamente a fines educativos e investigación en seguridad.

    No utilices el código ni las técnicas proporcionadas aquí en sistemas para los que no tengas permiso explícito por escrito. Los autores no se hacen responsables del mal uso o los daños causados por este material.

    Descargar herramienta