
Scanner Python que detecta instâncias Next.js vulneráveis a CVE-2025-29927, identifica versões e testa bypass de autenticação via cabeçalho x-middleware-subrequest com varredura paralela multi-thread.
Este script Python identifica hosts vulneráveis ao CVE-2025-29927, uma vulnerabilidade de autorização inadequada no middleware do Next.js que pode permitir bypass de autenticação. O script verifica o uso do Next.js, identifica a versão, detecta o cabeçalho x-middleware-subrequest e testa possíveis bypasses de autenticação em rotas especificadas.
AVISO: Este script é apenas para fins educacionais e auditorias de segurança autorizadas. O uso não autorizado em sistemas sem permissão explícita é ilegal e antiético.
Clone ou baixe este repositório: git clone <REPOSITORY_URL> cd cve-2025-29927-scanner
Crie e ative um ambiente virtual (opcional, mas recomendado): python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
Instale as dependências: pip install -r requirements.txt
Prepare um arquivo hosts.txt com uma lista de hosts (um por linha). Exemplo: example.com subdomain.example.com another-site.com
(Opcional) Prepare um arquivo routes.txt com rotas para testar (uma por linha). Exemplo: api/auth dashboard admin Se não for fornecido, o script criará automaticamente um routes.txt com rotas padrão.
Execute o script:
Argumentos: -f, --file: Arquivo contendo a lista de hosts (obrigatório). -r, --routes: Arquivo contendo a lista de rotas (opcional; usa routes.txt se não for especificado). -t, --threads: Número máximo de threads (padrão: 10).
Verifique os resultados na saída do terminal.
Exemplo de Saída
File routes.txt created with default routes.
Starting scan on 3 hosts with 3 routes...
Scan results:
------------------------------------------------------------
Host: https://example.com
Next.js detected: True
Version: 13.5.6
x-middleware-subrequest header: True
Vulnerable (version): True
Authentication bypass possible: True
Status: VULNERABLE
------------------------------------------------------------
As dependências estão listadas em requirements.txt:
Contribuições são bem-vindas.