
CLI somente leitura para verificar se um site WordPress está exposto ao WP2Shell (CVE-2026-63030 / CVE-2026-60137)
Uma ferramenta de linha de comando que verifica se um site WordPress está exposto ao WP2Shell (CVE-2026-63030 e CVE-2026-60137). Ela lê a versão do WordPress e a superfície da API REST por meio de requisições somente leitura e emite um veredito. Ela não explora nada.
[!WARNING] Apenas para testes autorizados. Use-a em sites que você possui ou para os quais tem permissão por escrito para verificar. O autor (
DanSec) não se responsabiliza por uso indevido ou danos.
O WP2Shell encadeia uma injeção de SQL (CVE-2026-60137) com uma falha no processador de lote da REST
(CVE-2026-63030) por meio do endpoint /wp-json/batch/v1, permitindo execução remota de código
não autenticada em uma instalação padrão do WordPress. Ambas as CVEs estão no catálogo de explorações conhecidas da CISA.
| Ramo | Vulnerável | Corrigido em |
|---|---|---|
| 6.9.x | 6.9.0 até 6.9.4 | 6.9.5 |
| 7.0.x | 7.0.0 até 7.0.1 | 7.0.2 |
| 7.1 e posteriores | não afetado | n/d |
Requer Python 3.8+.
pip install -r requirements.txt
requests e rich são necessários. sublist3r é opcional (enumeração de subdomínios).
Para enumeração mais ampla, instale subfinder
(um binário Go, não pip) e passe --subfinder.
# Verificar um host
python wpScanner.py example.com --passive
# Enumerar subdomínios de um domínio raiz e verificar cada um
python wpScanner.py example.com --subfinder --threads 8
Os resultados também são gravados em CSV. Quando as fontes de versão divergem, a ferramenta classifica pela
menor para evitar um falso "tudo limpo". Uma verificação remota não consegue ver um patch retroportado que deixou
a string de versão inalterada, portanto, em hosts que você controla, wp core version é a verdade absoluta.
Atualize o núcleo para 6.9.5, 7.0.2 ou 7.1+ (wp core update). Se você ainda não puder aplicar o patch, bloqueie
/wp-json/batch/v1 no seu firewall e restrinja o acesso anônimo à REST.
Fornecido apenas para uso autorizado e defensivo. Você é responsável por ter permissão para verificar qualquer host para o qual aponte a ferramenta.
| Opção | Descrição | Padrão |
|---|
-o, --output | Arquivo de saída CSV | WP2Shell_output.csv |
--passive | Verificar apenas o host informado, pular enumeração | desativado |
--subfinder | Adicionar subfinder como fonte de subdomínios | desativado |
--threads | Trabalhadores concorrentes | 1 |
--retries | Tentativas por host | 1 |
--rate-limit | Máx. de requisições/seg (mono-thread, 0 = sem limite) | 0 |
| Veredito | Significado |
|---|
VULNERABLE | Versão afetada e o endpoint de lote está acessível. |
LIKELY_MITIGATED | Versão afetada, mas o endpoint de lote parece bloqueado ou a REST está desativada. |
PATCHED | Versão corrigida, ou anterior às versões afetadas. |
VERSION_UNKNOWN | WordPress encontrado, mas a versão não pôde ser lida. |
NOT_WORDPRESS | Nenhuma impressão digital de WordPress. |
ERROR | Inacessível ou erro de rede. |