Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Remote, single-parameter trigger with no auth when a public frontend user form exists (PR:N/AC:L), yielding full admin takeover, so C:I:A all High.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Frontend Admin by DynamiApps plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.29.9. The vulnerability exists because ActionUser::conditions_logic() gates the current_user_can('edit_user', $user_id) authorization check behind an is_numeric() test, causing the check to be skipped entirely when $user_id is a non-numeric string - a condition that can be induced by passing a crafted value such as 1one through the unvalidated item_id parameter of the unauthenticated wp_ajax_nopriv_frontend_admin/forms/change_form AJAX endpoint. This makes it possible for attackers to escalate privileges to administrator by obtaining a server-signed _acf_objects payload carrying the non-numeric user ID, which WordPress subsequently coerces to integer 1 (the default administrator), allowing the attacker to overwrite that account's password or email address. Exploitation by unauthenticated users requires a public-facing frontend user form to be configured; in all other cases a subscriber-level account is sufficient.
AnalysisAI
Privilege escalation in the Frontend Admin by DynamiApps WordPress plugin (all versions through 3.29.9) lets attackers take over the default administrator account by overwriting its password or email. The flaw stems from an authorization check that is silently skipped when the target user ID is a non-numeric string, which WordPress later coerces to integer 1 (the default admin). Where a public-facing frontend user form is configured the attack is fully unauthenticated; otherwise any subscriber-level account suffices. No public exploit identified at time of analysis, but the CVSS is 9.8 (Critical) and it was reported by Wordfence.
Technical ContextAI
The affected component is the ACF-based Frontend Admin plugin (internal slug acf-frontend-form-element), which renders WordPress user-management forms on the site frontend. In ActionUser::conditions_logic() the plugin wraps the current_user_can('edit_user', $user_id) capability check inside an is_numeric($user_id) test. When $user_id is a non-numeric string such as '1one', is_numeric() returns false and the entire authorization branch is skipped rather than failing closed. The crafted value enters through the unvalidated item_id parameter of the wp_ajax_nopriv_frontend_admin/forms/change_form AJAX action (the nopriv handler is reachable without authentication). The plugin then emits a server-signed _acf_objects payload carrying the string user ID; when this trusted payload is processed, PHP/WordPress integer-coerces '1one' to 1, targeting the first administrator account. This is a textbook CWE-269 (Improper Privilege Management) failure caused by an input-type assumption around the authorization gate.
RemediationAI
Upgrade the Frontend Admin by DynamiApps plugin to the first release above 3.29.9 that contains the fix; an upstream fix is available as a plugins.trac changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3633030%40acf-frontend-form-element&new=3633030%40acf-frontend-form-element), but a specific released patched version is not independently confirmed from the provided data, so verify the fixed version against the Wordfence advisory before deploying. Until patched, remove or unpublish any public-facing frontend user/registration forms provided by this plugin to eliminate the unauthenticated (nopriv) path - the trade-off is loss of frontend self-service account management. As additional compensating controls, restrict or block access to admin-ajax.php requests carrying action=frontend_admin/forms/change_form at a WAF or reverse proxy, disable open user registration (Settings > General > Membership) to remove the subscriber-level path, and monitor for administrator email/password changes as a detection signal. Review the referenced advisory for the exact patched release before relying on version numbers.
More in Frontend Admin By Dynamiapps
View allStored cross-site scripting in the Frontend Admin by DynamiApps WordPress plugin (all versions before 3.29.9) allows una
Missing authorization in Frontend Admin by DynamiApps WordPress plugin (versions before 3.29.7) exposes taxonomy term cr
Unauthenticated path traversal file deletion in the Frontend Admin by DynamiApps WordPress plugin before 3.29.13 allows
Unauthenticated account takeover in the Frontend Admin by DynamiApps WordPress plugin (all versions through 3.29.12) let
Privilege escalation in the Frontend Admin by DynamiApps WordPress plugin (versions up to and including 3.29.10) lets re
Password reset authorization bypass in the Frontend Admin by DynamiApps WordPress plugin (all versions through 3.29.9) a
Privilege escalation in Frontend Admin by DynamiApps plugin allows authenticated attackers with editor-level access to e
Unauthenticated privilege escalation in the Frontend Admin by DynamiApps WordPress plugin (versions up to and including
Privilege escalation in the Frontend Admin by DynamiApps WordPress plugin (versions up to and including 3.29.2) allows a
Unauthorized deletion of arbitrary membership plans is possible in the Frontend Admin by DynamiApps WordPress plugin (al
Unauthenticated arbitrary file deletion in the Frontend Admin by DynamiApps WordPress plugin (versions up to and includi
The Frontend Admin by DynamiApps plugin for WordPress contains a PHP Object Injection vulnerability affecting all versio
Same weakness CWE-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-59849
GHSA-ch22-9ppp-5952