
Prova de conceito de exploit para CVE-2025-29927 que adiciona x-middleware-subrequest para contornar as verificações de autenticação do middleware do Next.js.
Este repositório contém uma prova de conceito para a vulnerabilidade CVE-2025-29927 no Next.js, onde o cabeçalho interno x-middleware-subrequest pode ser explorado para contornar verificações de middleware, como autenticação.
🧪 Este projeto foi testado com Next.js v13.4.19.
git clone https://github.com/goncalocsousa1/CVE-2025-29927.git
cd CVE-2025-29927
npm install
npm run dev
http://localhost:3000
A aplicação demonstra um sistema de autenticação simples com uma rota protegida que pode ser contornada usando a vulnerabilidade CVE-2025-29927. Veja como funciona:
Página Inicial (/)
auth-token)Página Protegida (/protected)
auth-tokenProteção do Middleware
auth-token/protected/*, redireciona para a página inicialDemonstração da Vulnerabilidade
x-middleware-subrequest pode ser exploradoauth-token válido, atacantes podem acessar rotas protegidasEsta aplicação inclui uma rota protegida em /protected que normalmente requer autenticação. No entanto, usando o cabeçalho x-middleware-subrequest: middleware em uma requisição como curl -H "x-middleware-subrequest: middleware" http://localhost:3000/protected, você pode contornar a verificação de autenticação.
Você também pode reproduzir esse comportamento usando Burp Suite interceptando a requisição e adicionando manualmente o cabeçalho.
Para testar isso com Burp Suite, abra a aba Proxy e vá para a sub-aba Intercept. Certifique-se de que Intercept is On, então clique em Open Browser e navegue até a rota protegida: http://localhost:3000/protected

Burp Suite capturará a requisição para a rota protegida. A partir daí, adicione o seguinte cabeçalho: x-middleware-subrequest: middleware (destacado na captura de tela acima). Por fim, encaminhe a requisição e acesse a rota protegida.

Atualize para uma das seguintes versões corrigidas: