
Simula CVE-2025-29927, uma vulnerabilidade crítica do Next.js que permite a atacantes contornar a autorização de middleware explorando o cabeçalho HTTP interno x-middleware-subrequest. Demonstra acesso não autorizado a rotas protegidas e fornece estratégias de mitigação.
Este repositório demonstra a exploração da CVE-2025-29927, uma vulnerabilidade crítica no Next.js que permite a invasores ignorar verificações de autorização baseadas em middleware. A falha decorre do tratamento inadequado do cabeçalho HTTP interno x-middleware-subrequest, possibilitando acesso não autorizado a rotas protegidas.
Este projeto destina-se apenas a fins educacionais e de pesquisa. O uso não autorizado contra sistemas sem permissão explícita é ilegal e antiético. Os autores não são responsáveis por qualquer uso indevido deste código.
CVE-2025-29927 afeta versões do Next.js anteriores a:
A vulnerabilidade surge quando um invasor inclui o cabeçalho x-middleware-subrequest em uma solicitação HTTP. O Next.js interpreta esse cabeçalho como uma sub-requisição interna, fazendo com que ele ignore a execução do middleware, incluindo verificações críticas de autorização.
git clone https://github.com/Knotsecurity/CVE-2025-29927-NextJs-Middleware-Simulation.git
cd cve-2025-29927-simulation
npm install
npm run dev
O aplicativo inclui uma rota protegida em /admin, que é protegida por middleware que verifica a autenticação do usuário.
/login e faça login com [email protected]:password123./admin. Você receberá um erro de acesso não autorizado.x-middleware-subrequest: middleware, então envie a requisição./admin.Para se proteger contra esta vulnerabilidade:
npm install next@latest
x-middleware-subrequest.