
Aplicação Next.js intencionalmente vulnerável demonstrando CVE-2025-29927, bypass de autenticação via evasão de WAF em middleware. Projetada para pesquisa de segurança, laboratórios de teste de penetração e demonstrações de divulgação responsável com backend MySQL e autenticação JWT.
Aqui está um README.md limpo e informativo para seu repositório GitHub que explica que é uma aplicação Next.js vulnerável para CVE-2025-29927 e inclui um link para seu vídeo de configuração no YouTube:
Esta é uma aplicação Next.js vulnerável que demonstra CVE-2025-29927, uma falha de segurança identificada em aplicações web que utilizam Next.js com tratamento de entrada ou controle de acesso inadequados.
O projeto utiliza um backend MySQL e autenticação JWT e foi projetado exclusivamente para fins educacionais e de teste — como para laboratórios de teste de penetração, demonstrações de divulgação responsável e pesquisa de segurança.
As senhas das contas de teste no arquivo users.csv são "123456" e a chave secreta para autenticação JWT "JWT_SECRET" está adicionada ao arquivo ".env.local" e foi compartilhada neste repositório público propositalmente, e não é um token JWT utilizado em produção. Isso simplifica a implantação e os testes.
Você também pode substituir a chave secreta do JWT por uma gerada por si, mas o arquivo .env deve existir para que a autenticação JWT funcione.
⚠️ Aviso: Este projeto é intencionalmente vulnerável. NÃO o implante em ambientes de produção. Use apenas em configurações isoladas ou controladas para fins educacionais.
Assista ao guia completo de configuração e demonstração no YouTube aqui sobre como configurar este projeto:
▶️ []
Assista à demonstração completa no YouTube aqui sobre como a vulnerabilidade é explorada: ▶️ [https://www.youtube.com/watch?v=3OPWodc2lx4]
git clone https://github.com/enochgitgamefied/NextJS-CVE-2025-29927.git
cd NextJS-CVE-2025-29927
npm install
Crie um banco de dados MySQL e atualize os detalhes de conexão em:
/database/index.js
Uma configuração simples seria usar os arquivos csv compartilhados neste repositório para criar as tabelas. As contas de usuário usadas todas utilizam a mesma senha. A senha é "123456". Assista ao vídeo do YouTube para obter todos os detalhes e instruções passo a passo.
Você também pode usar algo como o exemplo abaixo. Exemplo:
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'yourpassword',
database: 'cve_demo'
});
Em seguida, importe o esquema de database/schema.sql ou execute seu próprio script de configuração.
npm run dev
Acesse http://localhost:3000 para visualizar o aplicativo no seu navegador.
Esta aplicação contém um middleware NextJS que atua como WAF (Firewall de Aplicação Web) e uma versão vulnerável do next 13.4.9 que permite que atacantes explorem vulnerabilidades relacionadas a bypass de autenticação, inclusão local de arquivos ou controle de acesso inadequado. O objetivo é ajudar pesquisadores a entender como esse CVE pode ser explorado e como mitigá-lo.
Este projeto está licenciado sob a Licença MIT.