
Plugin Realtyna Organic IDX + WPL Real Estate < 5.3.0 - Upload arbitrário de arquivo sem autenticação para execução remota de código
Plugin Realtyna Organic IDX + WPL Real Estate < 5.3.0 - Upload arbitrário de arquivo não autenticado resultando em execução remota de código
Realtyna Organic IDX plugin + WPL Real Estate para WordPress < 5.3.0
Upload arbitrário de arquivo não autenticado por meio de credenciais fixas (hardcoded) da API de I/O, levando à execução remota de código.
O plugin WPL Real Estate inclui uma API de I/O embutida (set_property) que vem habilitada por padrão e é protegida apenas por um par de chaves fixas (public_key / private_key). Essas chaves são idênticas em todas as instalações — elas estão embutidas no SQL de migração executado na ativação.
A API aceita uploads de arquivos através do campo multipart file[] com o prefixo image_*, porém não realiza nenhuma validação sobre o tipo de arquivo enviado. Um atacante não autenticado pode enviar arquivos .php arbitrários, que são armazenados em um caminho previsível em wp-content/uploads/WPL/{pid}/, e executá-los diretamente via HTTP.
Nenhuma autenticação do WordPress, nenhum nonce, nenhuma verificação de permissão — apenas as duas strings fixas.
| Detalhe | Valor |
|---|---|
| CVE | CVE-2026-13714 |
| CWE | CWE-434 (Restrição inadequada de upload de arquivo com tipo perigoso) |
| Afetados | WPL Real Estate ≤ 5.2.0 |
| Corrigido em | 5.3.0 |
| Autenticação necessária | Nenhuma |
| CVSS 3.1 | 9.8 CRÍTICO |
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Fonte | CISA-ADP |
Atacante Alvo (WordPress + WPL ≤ 5.2.0)
│ │
│ POST / (multipart/form-data) │
│ ├─ public_key = <hardcoded> │
│ ├─ private_key = <hardcoded> │
│ ├─ cmd = set_property │
│ └─ file[] = image_Nx_abc.php │
│─────────────────────────────────────────►│
│ │ API valida as chaves ✓
│ │ Salva o arquivo (sem verificação de tipo)
│ {"success": true} │
│◄─────────────────────────────────────────│
│ │
│ GET /wp-content/uploads/WPL/{pid}/Nx_* │
│─────────────────────────────────────────►│
│ PHP executado │
│◄─────────────────────────────────────────│
| Recurso | Descrição |
|---|---|
| Identificação do WPL | Sonda ?get_realtyna_platform=1 + detecção de assinatura em HTML |
| Descoberta da Raiz do WordPress | Detecta automaticamente instalações do WP em subdiretórios (/wp, /blog, /site, etc.) |
| Exploração das Chaves Fixas | Usa as chaves padrão da API de I/O presentes em toda instalação do WPL |
| Upload Multipart | Constrói o multipart file[] correspondendo exatamente ao que o set_property do WPL espera |
| Scanner de PID | Testa por força bruta wp-content/uploads/WPL/{1..N}/ para localizar o arquivo enviado |
| Varredura Reverse de PID | Examina os PIDs mais recentes primeiro para descoberta mais rápida em sites ativos |
| Modo Canário (Canary Mode) | Upload seguro de .txt para verificar permissão de escrita sem executar PHP |
| Varredura em Massa com Threads | Processamento concorrente com número configurável de threads (1–50) |
| Assinatura Nx-zD | Os shells enviados carregam a tag de verificação Nx-zD |
| Registro Automático | Resultados salvos em Nx_hit/ com arquivos separados por tipo de resultado |
| Modo | O Que Faz |
|---|---|
1 — Detectar | Identifica instalações do WPL sem enviar nada |
2 — Upload | Envia o shell Nx_*.php via API de I/O e verifica a execução |
3 — Canário | Envia Nx_*.txt (sonda segura) para confirmar apenas a permissão de escrita |
| Arquivo | Conteúdo |
|---|---|
Nx_hit/Nwpl_detect.txt | Instalações do WPL encontradas (modo detectar) |
Nx_hit/Nwpl_shell.txt | Uploads de shell confirmados com URL completa e PID |
Nx_hit/Nwpl_canary.txt | Resultados da verificação canário |
python CVE-2026-13714.py
O script solicita:
> Lista de alvos: targets.txt
> Threads [1-50]: 10
> Modo [1/2/3]: 2
Formato da lista de alvos — um alvo por linha:
example.com
https://site.com
http://192.168.1.10:8080
sub.domain.org/wordpress
wpl_settings)wp-content/uploads/WPL/ por meio da configuração do servidorEsta ferramenta é fornecida estritamente para testes de segurança autorizados e fins educacionais. Use-a apenas em sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar.
O acesso não autorizado a sistemas de computador é ilegal sob leis que incluem, mas não se limitam ao Computer Fraud and Abuse Act (CFAA), ao UK Computer Misuse Act e à legislação equivalente em todo o mundo.
O autor não assume nenhuma responsabilidade por uso indevido. Ao usar esta ferramenta, você aceita total responsabilidade por suas ações e concorda em cumprir todas as leis e regulamentos aplicáveis.
Nxploited — Khaled Alenazi
Telegram: @Kxploit