{"id":"CVE-2026-116624","published":"2026-11-06T12:17:17.340","lastModified":"2026-11-06T16:17:47.937","description":"The Advanced Members for ACF plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.3.0 via the `acf[_amem_local_user_password]` parameter of the `[advanced-members-account-password]` shortcode form submission. This is due to a PHP operator-precedence bug in the `pre_update_value` function of `acf/fields/class-user-password.php` that assigns boolean `true` instead of the resolved user ID to `$user_id`, causing the `_can_edit()` authorization check to pass for any logged-in user via PHP loose equality, and causing `wp_update_user()` to cast `'ID' => true` to integer `1` — unconditionally targeting the primary administrator account. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite the password of user ID 1 (the site's primary administrator) with an attacker-chosen value, granting full administrative access to the site. The intended exclusion guard in `Account::process` that strips the password field before saving is defeated because `amem_save_all_fields()` re-reads the full field list from `amem()->submission` and silently overwrites the caller-supplied excluded fields array with an empty array, ensuring the password field is always processed.","cvssScore":8.8,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwes":["CWE-269"],"vendors":[],"products":[],"references":[{"url":"https://plugins.svn.wordpress.org/advanced-members/trunk/","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/acf/fields/base/trait-amem-field.php#L30","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/acf/fields/class-user-password.php#L117","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/core/actions/account.php#L227","tags":[]},{"url":"https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/core/functions-forms.php#L105","tags":[]},{"url":"https://plugins.trac.wordpress.org/changeset/3779180/advanced-members/trunk/acf/fields/class-user-password.php","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/6fc38f0b-bf13-4d01-a4b3-38a43fc726d6?source=cve","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":{"summary":"The Advanced Members for ACF WordPress plugin (≤1.3.0) contains a privilege escalation flaw where authenticated users with Subscriber-level access or higher can overwrite the password of the site administrator (user ID 1) due to a PHP operator-precedence bug that incorrectly assigns boolean true instead of a user ID, bypassing authorization checks and targeting the admin account via wp_update_user().","exploitability":"Exploitation requires only a valid authenticated session (any role ≥ Subscriber) and no additional privileges or social engineering; it is trivial to execute once an attacker has basic login access.","blast_radius":"Successful exploitation grants full administrative control of the WordPress site to the attacker, enabling complete compromise including data theft, malware deployment, and lateral movement.","remediation":"Upgrade to Advanced Members for ACF version 1.3.1 or later, which resolves the operator-precedence bug and restores proper field exclusion logic in Account::process().","detection":"Monitor WordPress debug logs or custom audit logs for unexpected password changes to user ID 1 (admin) by non-administrative users; also watch for POST requests to endpoints handling [advanced-members-account-password] form submissions containing the acf[_amem_local_user_password] parameter from low-privilege accounts.","tags":["privilege-escalation","auth-bypass","wordpress","php-bug","password-reset-abuse"],"model":"garnet-coder","analyzedAt":"2026-11-08T09:50:41.089Z"}}