
wp2shell — PoC de cadeia de RCE pré-auth do WordPress Core para CVE-2026-63030 e CVE-2026-60137
Se você aprecia meu trabalho, considere apoiar o projeto via USDT (TRC20): TQBA72kakjCZLnJt8fJYcD7dyQCEpzNtVN
wp2shell é uma prova de conceito de pesquisa em segurança que demonstra uma cadeia de vulnerabilidades de pré-autenticação no WordPress Core, combinando:
WP_QueryA cadeia demonstra como essas vulnerabilidades podem ser combinadas para evoluir de uma requisição não autenticada à API REST para injeção SQL, escalonamento de privilégios, criação de conta de administrador e, por fim, execução remota de código autenticada.
[!WARNING]
Somente Pesquisa de Segurança Autorizada
Este projeto destina-se a:
- Pesquisa de vulnerabilidades
- Validação defensiva
- Testes de penetração autorizados
- Laboratórios de segurança
- CTFs e ambientes educacionais
Teste somente sistemas que você possui ou para os quais tenha autorização explícita por escrito para avaliar.
Não use este projeto contra infraestrutura de terceiros sem autorização.
wp2shell é uma ferramenta unificada de pesquisa em segurança do WordPress Core para
investigar a interação entre duas vulnerabilidades:```text
CVE-2026-63030
|
v
REST API Batch Route Confusion
|
v
Validation / Dispatch Confusion
|
v
CVE-2026-60137
|
v
WP_Query SQL Injection
|
v
Blind SQL Access
|
v
Application / Object-State Manipulation
|
v
Privilege Escalation
|
v
Administrator Account Creation
|
v
Authenticated Code Execution
O PoC é implementado como uma ferramenta de pesquisa em Python e usa a biblioteca padrão
do Python sem exigir pacotes Python de terceiros.
---
# Cadeia de Vulnerabilidades
O projeto combina duas vulnerabilidades do WordPress Core.```text
Unauthenticated Request
|
v
+----------------------+
| CVE-2026-63030 |
| REST Batch Route |
| Confusion |
+----------+-----------+
|
v
Validation Confusion
|
v
+----------------------+
| CVE-2026-60137 |
| WP_Query SQLi |
+----------+-----------+
|
v
Blind SQLi
|
v
Application-State Abuse
|
v
Privilege Escalation
|
v
Administrator Access
|
v
Authenticated RCE
```
A propriedade de segurança importante é a interação entre as duas
vulnerabilidades, em vez de qualquer uma delas isoladamente.
---
# CVE-2026-63030
## Confusão de Rotas no Batch da REST API
A primeira vulnerabilidade afeta o processamento de requisições através do
endpoint REST API Batch do WordPress.
A implementação do batch mantém informações de correspondência e validação
de requisições em estruturas paralelas indexadas pela posição da requisição.
Uma sub-requisição malformada pode fazer com que essas estruturas fiquem
dessincronizadas.
Isso cria uma condição de despacho off-by-one em que uma requisição posterior pode
ser processada usando um handler ou contexto de validação associado a
outra requisição.
Conceitualmente:```text
Request A
|
+-- validation entry
+-- matching entry
|
v
Malformed request
|
+-- internal state becomes desynchronized
|
v
Request B
|
+-- unexpected handler / validation context
```
O PoC realiza verificações comportamentais para determinar se a confusão
de rota é realmente alcançável.
---
# CVE-2026-60137
## Injeção SQL no WP_Query
A segunda vulnerabilidade afeta um caminho de processamento SQL do `WP_Query`.
Uma vez estabelecida a primitiva de confusão de rota, a entrada controlada
pelo atacante pode alcançar o caminho de consulta vulnerável.
O PoC demonstra a injeção SQL resultante por meio de teste diferencial
cego.
A funcionalidade de pesquisa inclui:
* Confirmação booleana cega
* Corroboração opcional baseada em tempo
* Identificação de banco de dados
* Extração de escalares suportada
* Pesquisa de dados de usuários do WordPress
---
# Como a Cadeia Funciona
## 1. Confusão de Rota no REST Batch
Uma solicitação não autenticada atinge o endpoint REST Batch do WordPress.
Uma sub-requisição batch malformada faz com que o estado interno de
correspondência e validação de solicitações se torne dessincronizado.
Uma solicitação posterior pode, consequentemente, ser processada usando
um contexto não pretendido.
---
## 2. Injeção SQL
A primitiva de confusão de rota fornece o caminho necessário para a
segunda vulnerabilidade.
Um valor controlado pelo atacante pode alcançar o caminho de processamento
vulnerável do `WP_Query`.
Isso cria uma primitiva de injeção SQL cega.
---
## 3. Extração Cega de SQL
A injeção SQL pode ser usada como um canal de extração booleano cego.
O PoC contém funcionalidades para pesquisar informações do banco de dados
e informações suportadas de usuários do WordPress.
---
## 4. Manipulação do Estado da Aplicação
A cadeia usa resultados controlados pelo banco de dados para influenciar
objetos de aplicação do WordPress e o processamento subsequente.
Isso fornece as primitivas necessárias para o estágio de escalonamento de
privilégios.
---
## 5. Escalonamento de Changeset
A cadeia usa o processamento de changesets do WordPress para estabelecer
um contexto de execução de administrador.
Um objeto `customize_changeset` fabricado pode participar da sequência de
escalonamento de privilégios.
---
## 6. Reentrada de Hook
A cadeia reentra no processamento de solicitações do WordPress por meio
do ciclo de vida de solicitações da aplicação.
Isso permite que o processamento subsequente da API ocorra sob o contexto
elevado.
---
## 7. Criação de Conta de Administrador
```