
Este script verifica uma lista de URLs para detectar se estão usando **Next.js** e determina se são vulneráveis ao **CVE-2025-29927**. Opcionalmente, tenta a exploração usando uma wordlist.
Este script verifica uma lista de URLs para detectar se estão usando Next.js e determina se são vulneráveis ao CVE-2025-29927. Opcionalmente, tenta exploração usando uma wordlist.
# Clone o repositório
git clone https://github.com/ferpalma21/Automated-Next.js-Security-Scanner-for-CVE-2025-29927.git
cd Automated-Next.js-Security-Scanner-for-CVE-2025-29927.git
# Instale as dependências
npm install
Execute o script com diferentes opções:
node index.js -u "https://example.com" -v
node index.js -u "https://example.com"
node index.js -u "https://site1.com, https://site2.com"
node index.js -f urls.txt
node index.js -u "https://example.com" -o results.txt
node index.js -u "https://example.com" -v
node index.js -u "https://example.com" -a -w wordlist.txt
-v): Logs detalhados impressos no console.-v não está definido, os resultados são impressos como JSON.-o): Salva vulnerabilidades detectadas em um arquivo.Analyzing: https://example.com
https://example.com is running Next.js version: 13.5.9.
Potentially vulnerable to CVE-2025-29927.
Atualize para Next.js 14.2.25 ou 15.2.3 ou superior. Se não for possível atualizar, bloqueie o cabeçalho x-middleware-subrequest no WAF ou no nível do servidor. Versões corrigidas: 15.2.3, 14.2.25, 13.5.9, 12.3.5
Este projeto está licenciado sob a licença MIT.
| Opção | Atalho | Descrição |
|---|
-u | --urls | Lista de URLs (separadas por espaço/vírgula) |
-f | --file | Arquivo contendo URLs (um por linha) |
-c | --chrome | Caminho para o Chromium (padrão: /snap/bin/chromium) |
-o | --output | Arquivo para salvar os resultados de sites vulneráveis |
-v | --verbose | Ativa saída detalhada |
-r | --redirect | Segue redirecionamentos (opcional, pode levar a falsos positivos) |
-a | --attack | Tenta exploração (use com cuidado) |
-w | --wordlist | Arquivo de wordlist para exploração |
-t | --headless | Executa o Puppeteer no modo headless |
-x | --headers | Se falha ao explorar, tenta novamente com cabeçalhos diferentes |