CVE-2026-116624
HighCVSS 8.8Exploitation Probability (EPSS)
Low risk43th percentile - higher than 43% of all known CVEs
Summary
The Advanced Members for ACF plugin 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. A PHP operator-precedence bug in pre_update_value causes the authorization check to pass for any logged-in user, and wp_update_user() unconditionally targets the primary administrator account (ID 1). Authenticated attackers with Subscriber-level access can overwrite the administrator's password.
Risk Assessment
Potential administrator account takeover and full site control by a low-privileged user. Critical risk to integrity and confidentiality.
Recommendation
Update the plugin to a version later than 1.3.0 or disable it. Restrict registration of low-privileged users.
Other vulnerabilities in Advanced Members for ACF
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

