A cadeia de exploração wp2shell, formada pelas vulnerabilidades CVE-2026-63030 e CVE-2026-60137 no WordPress core, permite que um atacante não autenticado execute código arbitrário em qualquer instalação padrão das versões 6.9.0 a 6.9.4 e 7.0.0 a 7.0.1, sem necessidade de plugins. A CISA adicionou a falha ao catálogo Known Exploited Vulnerabilities em 21 de julho de 2026, confirmando exploração ativa. O WordPress.org publicou correções nas versões 7.0.2, 6.9.5 e 6.8.6 em 17 de julho de 2026, com atualização automática forçada habilitada devido à gravidade.
Como o wp2shell funciona
A cadeia wp2shell combina duas vulnerabilidades distintas do núcleo do WordPress. A primeira, CVE-2026-63030 (CVSS 9,8 — Crítica), é um problema de confusão de roteamento no endpoint batch da REST API, classificado como CWE-436 (Interpretation Conflict). A segunda, CVE-2026-60137 (CVSS 9,1 — Crítica), é uma injeção SQL no parâmetro author__not_in da classe WP_Query. Encadeadas, essas falhas permitem que um atacante realize injeção SQL e alcance execução remota de código a partir de uma única requisição não autenticada.
A vulnerabilidade de confusão de rota na REST API batch permite que sub-requisições maliciosas contornem as verificações de permissão normais. Em conjunto com a injeção SQL, o atacante consegue manipular o banco de dados e injetar código PHP que será executado pelo servidor web. Provas de conceito públicas já circulam, tornando a exploração trivial para atacantes com conhecimento técnico intermediário. A falha foi reportada por Adam Kues, da Assetnote / Searchlight Cyber.
Versões afetadas pelo wp2shell
O impacto varia conforme a versão do WordPress instalada. As versões 6.9.0 a 6.9.4 e 7.0.0 a 7.0.1 estão afetadas por ambas as vulnerabilidades e são suscetíveis à cadeia completa de RCE. Já as versões 6.8.0 a 6.8.5 apresentam apenas o componente de injeção SQL (CVE-2026-60137), sem a confusão de rota que habilita o RCE encadeado. Versões anteriores a 6.8 não são afetadas.
| Versão do WordPress | Vulnerabilidades presentes | RCE encadeado | Versão corrigida |
|---|---|---|---|
| 7.0.0 – 7.0.1 | CVE-2026-63030 + CVE-2026-60137 | Sim | 7.0.2 |
| 6.9.0 – 6.9.4 | CVE-2026-63030 + CVE-2026-60137 | Sim | 6.9.5 |
| 6.8.0 – 6.8.5 | Apenas CVE-2026-60137 | Não | 6.8.6 |
| Anteriores a 6.8 | Nenhuma | Não | — |
A CISA estabeleceu 24 de julho de 2026 como prazo para que agências federais americanas apliquem as correções, conforme a diretiva BOD 26-04. Organizações privadas devem tratar a correção com a mesma urgência, dado que exploits públicos já estão em circulação e a exploração foi confirmada em ambiente real.
Correção e atualização imediata
O WordPress.org liberou as versões corrigidas em 17 de julho de 2026 e ativou a atualização automática forçada para todos os sites em versões afetadas. No entanto, administradores não devem presumir que o push automático foi bem-sucedido — é necessário verificar manualmente o status da atualização em cada instalação, especialmente em ambientes onde as atualizações em segundo plano foram desativadas ou bloqueadas por firewall.
- Acesse o painel administrativo do WordPress e verifique a versão atual em “Ferramentas → Saúde do site”
- Se a versão for inferior a 7.0.2, 6.9.5 ou 6.8.6, clique em “Painel → Atualizações” e execute “Atualizar agora”
- Confirme que a atualização foi concluída verificando a versão novamente após o processo
- Revise logs de acesso HTTP em busca de sinais de exploração anterior à correção
- Verifique a presença de arquivos PHP não autorizados em diretórios sob
wp-content
Para sites que ainda não podem atualizar imediatamente, uma medida compensatória temporária é implementar uma regra de WAF bloqueando requisições POST maliciosas para os endpoints /wp-json/batch/v1 e /wp/v2/posts contendo o parâmetro author__not_in. Essa medida reduz a janela de exposição, mas não substitui a aplicação do patch oficial.
Detecção e resposta ao incidente
A detecção de tentativas de exploração deve focar nos logs de acesso do servidor web. Os indicadores mais relevantes incluem requisições para /wp-json/batch/v1 com caminhos de sub-requisição incomuns ou códigos de status inesperados, e requisições para /wp/v2/posts contendo metacaracteres SQL no parâmetro author__not_in. A criação de novos arquivos PHP em diretórios do wp-content e conexões de saída não esperadas do processo do servidor web são fortes indicadores de comprometimento pós-exploração.
Organizações que identificarem evidências de exploração devem assumir comprometimento total do servidor, realizar análise forense completa e considerar a reconstrução da instância a partir de um backup confiável anterior ao incidente. A simples aplicação do patch não elimina backdoors ou web shells já implantados. Para casos semelhantes de falhas críticas com exploração ativa, a resposta a vulnerabilidades de RCE não autenticado segue princípios análogos de contenção, detecção e recuperação.
O padrão observado em incidentes recentes — incluindo a resposta a zero-days ativos em sistemas corporativos — demonstra que a janela entre divulgação pública e exploração em massa tem encolhido. Atualizar imediatamente e verificar a integridade do sistema são as ações mais eficazes para reduzir o risco.